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 向下取整
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

命令行用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

相关文章:

  • 2021-12-10
  • 2021-10-16
  • 2022-12-23
  • 2021-11-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-09
  • 2021-07-10
  • 2021-06-20
  • 2022-12-23
  • 2022-01-01
  • 2022-12-23
  • 2021-08-28
相关资源
相似解决方案