更新叢集的受管節點群組 - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻嗎? 捲動至此頁面底部,然後選取 [編輯此頁面於] 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執行個體支援大幅增加的數量Pods。如需詳細資訊,請參閱為具有前置字元的 Amazon EKS 節點指派更多 IP 地址

  • 您已為 Windows 節點啟用 IP 前置詞委派,並希望節點群組中的新 AWS Nitro System 執行個體支援大幅增加的Pods數目。如需詳細資訊,請參閱為具有前置字元的 Amazon EKS 節點指派更多 IP 地址

如果您的受管節點群組AMI版本有較新的發行Kubernetes版本,您可以更新節點群組的版本以使用較新的AMI版本。同樣地,如果您的叢集執行的Kubernetes版本比節點群組還新,您可以更新節點群組以使用最新的發行AMI版本以符合叢集的Kubernetes版本。

當受管節點群組中的節點由於擴展操作或更新而終止時,該節點中的 Pods 會先被耗盡。如需詳細資訊,請參閱瞭解節點更新的每個階段

更新節點群組版本

您可以使用 eksctl 或 AWS Management Console更新節點群組版本。您更新的版本不能比控制平面的版本還新。

eksctl
使用 eksctl 更新節點群組版本
  • 使用下列命令,將受管理節點群組更AMI新為目前部署在節點上的相同Kubernetes版本的最新版本。取代每個 範例值 用你自己的價值觀。

    eksctl upgrade nodegroup \ --name=node-group-name \ --cluster=my-cluster \ --region=region-code
    注意

    如果要將使用啟動範本部署的節點群組升級至新的啟動範本版本,則請將 --launch-template-version version-number 新增至上述命令。啟動範本必須符合 使用啟動範本自訂受管節點 中描述的要求。如果啟動範本包含自訂AMI,則AMI必須符合中的需求指定 AMI。當您將節點群組升級至較新版本的啟動範本時,每個節點都會回收,以符合指定之啟動範本版本的新組態。

    您無法直接將未部署啟動範本的節點群組升級至新的啟動範本版本。相反地,您必須使用啟動範本部署新的節點群組,才能將節點群組更新為新的啟動範本版本。

    您可以將節點群組升級至與控制平面的 Kubernetes 版本相同的版本。例如,當您有一個正在執行 Kubernetes 1.29 的叢集時,您可以使用下列命令,將目前執行 Kubernetes 1.28 的節點升級到版本 1.29

    eksctl upgrade nodegroup \ --name=node-group-name \ --cluster=my-cluster \ --region=region-code \ --kubernetes-version=1.29
AWS Management Console
使用更新節點群組版本 AWS Management Console
  1. https://console.aws.amazon.com/eks/家裡 #/集群打開 Amazon EKS 控制台。

  2. 選擇包含要更新之節點群組的叢集。

  3. 如果至少有一個節點群組有可用的更新,則頁面頂部會出現一個方塊,通知您可用的更新。如果您選取 [計算] 索引標籤,您會節點群組的 [節點群組] 資料表中的 [AMI發行版本] 欄中看到 [立即更新]。若要更新節點群組,請選擇 Update now (立即更新)。

    您不會看到使用自訂部署之節點群組的通知AMI。如果您使用自訂節點部署AMI,請完成以下步驟以部署新的更新自訂AMI。

    1. 創建一個新版本的AMI.

    2. 使用新 AMI ID 建立新的啟動範本版本。

    3. 將節點升級至啟動範本的新版本。

  4. Update node group version (更新節點群組版本) 對話方塊中,啟用或停用以下選項:

    • 更新節點群組版本 — 如果您部署了自訂節點群組版本,AMI或您的 Amazon 最EKS佳化目前AMI為叢集的最新版本,則無法使用此選項。

    • Change launch template version (變更啟動範本版本):如果節點群組是在沒有自訂啟動範本的情況下進行部署,則無法使用此選項。您只能更新已使用自訂啟動範本部署之節點群組的啟動範本版本。選取節點群組要更新至的 Launch template version (啟動範本版本)。如果您的節點群組使用自訂設定AMI,則您選取的版本也必須指定AMI。當您升級至較新版本的啟動範本時,每個節點都會回收,以符合指定之啟動範本版本的新組態。

  5. 對於 Update strategy (更新策略),選取下列其中一個選項:

    • Rolling update (滾動更新) – 此選項會遵循叢集的 Pod 中斷預算。如果發Pod生中斷預算問題,導致 Amazon EKS 無法正常耗盡此節點群組上執行的資料Pods,則更新會失敗。

    • Force update (強制更新) – 此選項不會遵循 Pod 中斷預算。無論 Pod 中斷預算問題是否出現,都會強制節點重新啟動以進行更新。

  6. 選擇 Update (更新)。

編輯節點群組組態

您可以修改受管節點群組中的部分組態。

編輯節點群組組態
  1. https://console.aws.amazon.com/eks/家裡 #/集群打開 Amazon EKS 控制台。

  2. 選擇包含要編輯之節點群組的叢集。

  3. 選取 Compute (運算) 標籤。

  4. 選取要編輯的節點群組,然後選擇 Edit (編輯)。

  5. (選用) 在 Edit node group (編輯節點群組) 頁面上,執行以下作業:

    1. 編輯 Node group scaling configuration (節點群組擴展組態)。

      • Desired size (所需大小) – 指定受管節點群組目前應該維護的工作者節點數量。

      • Minimum size (大小下限) – 指定受管節點群組可縮減至的節點數量下限。

      • Maximum size (大小上限):指定受管節點群組可擴增至的節點數量上限。如需節點群組中支援的節點數量上限,請參閱 檢視和管理 Amazon EKS 和Fargate服務配額

    2. (選用) 將 Kubernetes 標籤新增至節點群組中的節點或從中移除這些標籤。此處顯示的標籤僅是您在 Amazon 上應用的標籤EKS。其他標籤可能存在於這裡未顯示的節點上。

    3. (選用) 將 Kubernetes 污點新增至節點群組中的節點或從中移除這些污點。已新增的污點可能會有 NoScheduleNoExecutePreferNoSchedule 效果。如需詳細資訊,請參閱防Pods止在特定節點上排程

    4. (選用) 將 Tags (標籤) 新增至節點群組或從中移除標籤。這些標籤僅適用於 Amazon EKS 節點群組。它們不會傳播到其他資源,例如節點群組中的子網路或 Amazon EC2 執行個體。

    5. (選用) 編輯 Node Group update configuration (節點群組更新組態)。選取任何一個 Number (數字) 或 Percentage (百分比)。

      • Number (數量):選取並指定可平行更新節點群組的節點數量。這些節點在更新期間將無法使用。

      • Percentage (百分比):選取並指定可平行更新節點群組的節點百分比。這些節點在更新期間將無法使用。如果您的節點群組中有許多節點,這會很有用。

    6. 完成編輯後,請選擇 Save changes (儲存變更)。