Deployment为Pod和Replica Set提供声明式更新,并维持期望状态。

spec:
  ...
  minReadySeconds: 100  # 这里需要估一个比较合理的值,从容器启动到应用正常提供服务
  strategy:  # k8s 默认的 strategy 就是 RollingUpdate, 这里写明出来可以调节细节参数
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1  # 更新时允许最大激增的容器数,默认 replicas 的 1/4 向上取整
      maxUnavailable: 0  # 更新时允许最大 unavailable 容器数,默认 replicas 的 1/4 向下取整

命令行用patch修改配置
kubectl patch deployment nginx-test -p ‘{“spec”:{“minReadySeconds”:30}}’ -n test

修改镜像并打记录,便于回滚指定版本
kubectl set image deployment/nginx-test nginx=nginx:1.15 --record=true --namespace=test

查看发布历史
kubectl rollout history deployment/nginx-test -n test

回滚上一版本
kubectl rollout undo deployment/nginx-test -n test

回滚指定版本
kubectl rollout undo deployment nginx-test --to-revision=13 -n test

将资源标记为暂停
kubectl rollout pause deployment/nginx-test -n test

查看资源的状态
kubectl rollout status deployment/nginx-test -n test

恢复已暂停的资源
kubectl rollout resume deployment/nginx-test -n test

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐