1.11.2. 管理资源

1.11.2.1. 组织资源配置

许多应用需要创建多个配置资源, 比如deployment和service的, 可以通过将多个资源放置到一个文件中。 多个资源通过—进行分割即可。 资源将按照他们在文件中的顺序创建,

也是可以通过目录形式,通过读取目录即可。 会自动识别后缀为yml yaml json这些文件。

1.11.2.2. kubectl 中的批量操作

# 通过起初创建的文件进行删除
kubectl delete -f https://k8s.io/examples/application/nginx-app.yaml

# 命令式删除特定资源
kubectl delete deployments/my-nginx services/my-nginx-svc

# 资源删除指定标签删除,不建议
kubectl delete deployment,services -l app=nginx

1.11.2.3. 金丝雀部署(Canary Deployments)

如何做个金丝雀发布。 对于一个服务来说, 有个service 有个deployment的, 我们通过service选择的时候既能选择到老的deployment也能选择个数为1个的新的deployment, 这样就接收了一些流量。 通过后续的调整实例数量, 逐步下掉老的deployment即可完成一个发布。

具体可以通过track标签来区别不同的版本。

线上稳定的deployment配置

  name: frontend
  replicas: 3

  labels:
     app: guestbook
     tier: frontend
     track: stable

  image: gb-frontend:v3

金丝雀的版本

  name: frontend-canary
  replicas: 1

  labels:
     app: guestbook
     tier: frontend
     track: canary

  image: gb-frontend:v4
服务选择
selector:

app: guestbook tier: frontend

1.11.2.4. kubectl edit

不建议使用这种方式, 可以通过get到一个yaml文件,然后编辑文件后重新apply即可。