協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格的 GitHub 上的編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
當您啟動受管節點群組更新時,Amazon EKS 會自動為您更新節點,完成了解節點更新的每個階段中列出的步驟。如果您使用的是 Amazon EKS 最佳化 AMI,Amazon EKS 會自動將最新的安全修補程式和作業系統更新套用至節點,做為最新的 AMI 發行版本的一部分。
有幾種情況可以更新 Amazon EKS 受管節點群組的版本或組態:
-
您已更新 Amazon EKS 叢集的 Kubernetes 版本,並且想要更新您的節點,以使用相同的 Kubernetes 版本。
-
新的 AMI 發行版本可供受管節點群組使用。如需 AMI 版本的詳細資訊,請參閱下列各節:
-
您想要調整受管節點群組中執行個體的下限、上限或所需計數。
-
您想要從受管節點群組中的執行個體新增或移除 Kubernetes 標籤。
-
您想要從受管節點群組新增或移除 AWS 標籤。
-
您需要部署具有組態變更的新版啟動範本,例如更新的自訂 AMI。
-
您已部署 版本
1.9.0
或更新版本的 Amazon VPC CNI 附加元件、啟用用於字首委派的附加元件,並希望節點群組中的新 AWS Nitro System 執行個體支援大幅增加的 Pod 數量。如需詳細資訊,請參閱使用字首將更多 IP 地址指派給 Amazon EKS 節點。 -
您已為 Windows 節點啟用 IP 字首委派,並希望節點群組中的新 AWS Nitro System 執行個體支援大幅增加的 Pod 數量。如需詳細資訊,請參閱使用字首將更多 IP 地址指派給 Amazon EKS 節點。
如果受管節點群組的 Kubernetes 版本有較新的 AMI 發行版本,您可以更新節點群組的版本,以使用較新的 AMI 版本。同樣地,如果您的叢集執行的是比節點群組更新的 Kubernetes 版本,您可以更新節點群組以使用最新的 AMI 發行版本,以符合叢集的 Kubernetes 版本。
當受管節點群組中的節點因擴展操作或更新而終止時,會先耗盡該節點中的 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.32
,您可以使用下列命令將目前執行 Kubernetes 1.32
的節點升級至1.31
版本 。
eksctl upgrade nodegroup \ --name=node-group-name \ --cluster=my-cluster \ --region=region-code \ --kubernetes-version=1.32
AWS Management Console
使用 更新受管節點群組 AWS Management Console
-
開啟 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 (更新策略),選取下列其中一個選項:
-
滾動更新 – 此選項遵守叢集的 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 中斷預算 (PDBs)。與更新節點群組程序 (在升級階段消耗節點並遵循 PDBs) 不同,更新擴展組態會導致節點透過 Auto Scaling 群組 (ASG) 縮減規模呼叫立即終止。無論您要縮減到的目標大小,都不會考慮 PDBs。這表示當您減少 Amazon EKS 受管節點群組desiredSize
的 時,會在節點終止時立即移出 Pod,而不會遵守任何 PDBs。