協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新叢集的受管節點群組
啟動受管節點群組更新後,Amazon EKS 會自動為您更新節點,完成了解節點更新的每個階段中列出的步驟。如果使用的是 Amazon EKS 最佳化 AMI,則 Amazon EKS 會自動將最新的安全修補程式和作業系統更新套用至您的節點,作為最新 AMI 發行版本的一部分。
有數個案例可用於更新 Amazon EKS 受管節點群組的版本或組態:
-
您已更新 Amazon EKS 叢集的 Kubernetes 版本,並且想要更新您的節點,以使用相同的 Kubernetes 版本。
-
新的 AMI 發行版本可供受管節點群組使用。如需 AMI 版本的詳細資訊,請參閱下列各節:
-
您想要調整受管節點群組中執行個體的下限、上限或所需計數。
-
您想要從受管節點群組中的執行個體新增或移除 Kubernetes 標籤。
-
您想要從受管節點群組新增或移除 AWS 標籤。
-
您需要部署具有組態變更的新版啟動範本,例如更新的自訂 AMI。
-
您已部署 Amazon VPC CNI 附加元件版本
1.9.0或更新版本、啟用附加元件字首委派,並希望在節點群組中新增 AWS Nitro System 執行個體來支援大幅增加的 Pod 數量。如需詳細資訊,請參閱 將更多 IP 位址指派給具有字首的 Amazon EKS 節點。 -
您已為 Windows 節點啟用 IP 字首委派,並且想要節點群組中的新 AWS Nitro System 執行個體支援大幅增加的 Pod。如需詳細資訊,請參閱 將更多 IP 位址指派給具有字首的 Amazon EKS 節點。
如果有較新的受管節點群組之 Kubernetes 版本的 AMI 發行版本,則可以更新節點群組的版本,以使用較新的 AMI 版本。同樣地,如果叢集執行的 Kubernetes 版本比節點群組新,則可以更新節點群組,以使用符合叢集 Kubernetes 版本的最新 AMI 發行版本。
當受管節點群組中的節點由於擴展操作或更新而終止時,該節點中的 Pod 叢集會先耗盡。如需詳細資訊,請參閱 了解節點更新的每個階段。
更新節點群組版本
您可以透過以下任一項來更新節點群組版本:
您更新的版本不能比控制平面的版本還新。
eksctl
使用 eksctl 來更新受管節點群組
使用下列命令,將受管節點群組更新至目前節點上所部署相同 Kubernetes 版本的最新 AMI 版本。使用您自己的值取代每一個範例值。
eksctl upgrade nodegroup \ --name=node-group-name \ --cluster=my-cluster \ --region=region-code
注意
如果要將使用啟動範本部署的節點群組升級至新的啟動範本版本,則請將 --launch-template-version 新增至上述命令。啟動範本必須滿足透過啟動範本來自訂受管節點中所述的要求。如果啟動範本包含自訂 AMI,則 AMI 必須滿足指定 AMI 中的要求。當您將節點群組升級至較新版本的啟動範本時,每個節點都會回收,以符合指定之啟動範本版本的新組態。version-number
您無法直接將未部署啟動範本的節點群組升級至新的啟動範本版本。相反地,您必須使用啟動範本部署新的節點群組,才能將節點群組更新為新的啟動範本版本。
您可以將節點群組升級至與控制平面的 Kubernetes 版本相同的版本。例如,當您有一個正在執行 Kubernetes 1.33 的叢集時,您可以使用下列命令,將目前執行 Kubernetes 1.32 的節點升級到 1.33 版。
eksctl upgrade nodegroup \ --name=node-group-name \ --cluster=my-cluster \ --region=region-code \ --kubernetes-version=1.33
AWS 管理主控台
使用 AWS 管理主控台 來更新受管節點群組
-
開啟 Amazon EKS 主控台
。 -
選擇包含要更新之節點群組的叢集。
-
如果至少有一個節點群組有可用的更新,則頁面頂部會出現一個方塊,通知您可用的更新。如果選取運算索引標籤,您會看到針對有可用更新之節點群組的節點群組資料表中 AMI 發行版本欄位中的立即更新。若要更新節點群組,請選擇 Update now (立即更新)。
您不會看到使用自訂 AMI 部署之節點群組的通知。如果節點是使用自訂 AMI 進行部署,則請完成以下步驟來部署新的已更新自訂 AMI。
-
建立 AMI 的新版本。
-
使用新的 AMI ID 建立新的啟動範本版本。
-
將節點升級至啟動範本的新版本。
-
-
在 Update node group version (更新節點群組版本) 對話方塊中,啟用或停用以下選項:
-
Update node group version (更新節點群組版本):如果您部署了自訂 AMI,或經 Amazon EKS 優化的 AMI 目前是叢集的最新版本,則無法使用此選項。
-
Change launch template version (變更啟動範本版本):如果節點群組是在沒有自訂啟動範本的情況下進行部署,則無法使用此選項。您只能更新已使用自訂啟動範本部署之節點群組的啟動範本版本。選取節點群組要更新至的 Launch template version (啟動範本版本)。如果節點群組設定了自訂 AMI,則您選取的版本也必須指定 AMI。當您升級至較新版本的啟動範本時,每個節點都會回收,以符合指定之啟動範本版本的新組態。
-
-
對於 Update strategy (更新策略),選取下列其中一個選項:
-
Rolling update (滾動更新) – 此選項會遵循叢集的 Pod 中斷預算。如果發生 Pod 中斷預算問題,導致 Amazon EKS 無法正常地消耗正在此節點群組上執行的 Pod,則更新會失敗。
-
強制更新 – 此選項不會遵循 Pod 中斷預算。無論 Pod 中斷預算問題如何,都會強制節點重新啟動,進行更新。
-
-
選擇 Update (更新)。
編輯節點群組組態
您可以修改受管節點群組中的部分組態。
-
開啟 Amazon EKS 主控台
。 -
選擇包含要編輯之節點群組的叢集。
-
選取 Compute (運算) 標籤。
-
選取要編輯的節點群組,然後選擇 Edit (編輯)。
-
(選用) 在 Edit node group (編輯節點群組) 頁面上,執行以下作業:
-
編輯 Node group scaling configuration (節點群組擴展組態)。
-
Desired size (所需大小) – 指定受管節點群組目前應該維護的工作者節點數量。
-
Minimum size (大小下限) – 指定受管節點群組可縮減至的節點數量下限。
-
Maximum size (大小上限):指定受管節點群組可擴增至的節點數量上限。如需節點群組中支援的節點數量上限,請參閱 檢視與管理 Amazon EKS 和 Fargate 服務配額。
-
-
(選用) 將 Kubernetes 標籤新增至節點群組中的節點或從中移除這些標籤。這裡顯示的標籤只是您使用 Amazon EKS 所套用的標籤。其他標籤可能存在於這裡未顯示的節點上。
-
(選用) 將 Kubernetes 污點新增至節點群組中的節點或從中移除這些標籤。已新增的污點可能會有
NoSchedule、NoExecute或PreferNoSchedule效果。如需詳細資訊,請參閱 配方:阻止在特定節點上排程 Pod。 -
(選用) 將 Tags (標籤) 新增至節點群組或從中移除標籤。這些標籤僅適用於 Amazon EKS 節點群組。標籤不會傳播到其他資源,例如節點群組中的子網路或 Amazon EC2 執行個體。
-
(選用) 編輯 Node Group update configuration (節點群組更新組態)。選取任何一個 Number (數字) 或 Percentage (百分比)。
-
Number (數量):選取並指定可平行更新節點群組的節點數量。這些節點在更新期間將無法使用。
-
Percentage (百分比):選取並指定可平行更新節點群組的節點百分比。這些節點在更新期間將無法使用。如果您的節點群組中有許多節點,這會很有用。
-
-
完成編輯後,請選擇儲存變更。
-
重要
更新節點群組組態後,修改 NodegroupScalingConfig 與 Pod 中斷預算 (PDB) 不相符。與更新節點群組程序 (這會在升級階段期間消耗節點且與 PDB 相符) 不同的是,若更新擴展組態,會導致節點透過 Auto Scaling 群組 (ASG) 縮減呼叫立即終止。發生此情況不會考慮 PDB,無論您在縮減的目標大小為何。這意味著,若您減少 Amazon EKS 受管節點群組的 desiredSize,Pod 會在節點終止後立即移出,而不與任何 PDB 相符。