k8s滾動發佈使用

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章