我正在為應用程式升級一些 AKS 集群,并一直在測驗az aks nodepool upgrade --max-surge標志以加快行程。我們的 prod 環境有 50 多個節點,按照我在較低節點上看到的每個節點的時鐘速度,我估計 prod 需要 9 多個小時才能完成。在一次較低的升級中,我的最大激增速度達到了 50%,這確實對速度有所幫助,并且所有部署都保持了 50% 的最小可用 pod。
對于這次最新的升級,我嘗試了 100% 的最大激增。它在正確的版本上啟動了 6 個新節點(池中的 6 個當前節點)......但隨后它同時遷移了每個部署/pod,并將所有內容降低到 0/2 個 pod。在我開始這個程序之前,我確保將每個部署的 pod 中斷預算設定為 50% 的最小值。這對我所有的其他升級都有效,除了這個,這對我來說意味著 100% 的激增是原因。
我只是無法弄清楚為什么我的最低可用百分比被忽略了。下面是一個示例 PDB 的描述,以及相應的部署。
Pod 中斷預算:
Name: myapp-admin
Namespace: front-svc
Min available: 50%
Selector: role=admin
Status:
Allowed disruptions: 1
Current: 2
Desired: 1
Total: 2
Events:
部署(片段):
Name: myapp-admin
Namespace: front-svc
CreationTimestamp: Wed, 26 May 2021 16:17:00 -0500
Labels: <none>
Annotations: deployment.kubernetes.io/revision: 104
Selector: agency=myorg,app=myapp,env=uat,organization=myorg,role=admin
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 15
RollingUpdateStrategy: 25% max unavailable, 1 max surge
Pod Template:
Labels: agency=myorg
app=myapp
buildnumber=1234
env=uat
organization=myorg
role=admin
Annotations: kubectl.kubernetes.io/restartedAt: 2022-03-12T09:00:11Z
Containers:
myapp-admin-ctr:
有什么明顯的我做錯了嗎?
uj5u.com熱心網友回復:
... 100% 的最大浪涌值提供了最快的升級程序(節點數加倍),但也會導致節點池中的所有節點同時耗盡。
來自官方檔案。您可能需要考慮降低您的最大激增。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/446662.html
標籤:Kubernetes 天蓝色
