[英]Python client euqivelent of `kubectl rollout restart <deployment>
[英]kubectl - How to restart a deployment (or all deployment)
我們有一個 AKS 集群,有時我們最終會遇到部署需要重新啟動的問題(例如,緩存數據已更新,我們想要刷新它,或者我們想要刷新的緩存數據已損壞)。
我一直在使用將部署擴展到 0 的方法,然后使用以下命令將其擴展回來:
kubectl scale deployments/<deploymentName> --replicas=0
kubectl scale deployments/<deploymentName> --replicas=1
這符合我的預期,但感覺很糟糕,這意味着在此過程發生時我們沒有運行任何部署。
這樣做的更好方法是什么? 對於特定部署和所有部署?
如果您的部署有RollingUpdate
策略,您可以刪除 pod 以替換 pod 並刷新它。
關於滾動更新策略:
用戶希望應用程序始終可用,而開發人員則希望每天多次部署它們的新版本。 在 Kubernetes 中,這是通過滾動更新完成的。 滾動更新通過使用新的 Pod 實例增量更新,允許部署的更新在零停機時間的情況下進行。
滾動更新配置:
spec:
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
maxSurge
指定在maxSurge
數量上可以創建的最大maxSurge
數量。
maxUnavailable
指定更新過程中可以不可用的最大maxUnavailable
數。
刪除豆莢:
kubectl delete pod <pod-name>
編輯:
此外,您可以推出部署,這將重新啟動 pod,但也會創建部署的新版本。
例如: kubectl rollout restart deployments/<deployment-name>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.