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

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

更新叢集的受管節點群組

當您啟動受管節點群組更新時,Amazon EKS會自動為您更新節點,並完成 中列出的步驟瞭解節點更新的每個階段。如果您使用的是 Amazon EKS最佳化 AMI,Amazon EKS會自動將最新的安全修補程式和作業系統更新套用至節點,做為AMI最新版本的一部分。

有幾種情況可用來更新 Amazon EKS受管節點群組的版本或組態:

  • 您已更新 Kubernetes Amazon EKS叢集的 版本,並想要更新您的節點以使用相同的 Kubernetes 版本。

  • 您的受管節點群組可以使用新的AMI版本。如需AMI版本的詳細資訊,請參閱下列各節:

  • 您想要調整受管節點群組中執行個體的下限、上限或所需計數。

  • 您想要新增或移除 Kubernetes 受管節點群組中執行個體的標籤。

  • 您想要從受管節點群組新增或移除 AWS 標籤。

  • 您需要部署具有組態變更的新版本啟動範本,例如更新的自訂 AMI。

  • 您已部署版本 1.9.0或更新版本的 Amazon VPC CNI 附加元件,啟用了用於字首委派的附加元件,並想要新的 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.31,您可以升級目前正在執行的節點 Kubernetes 1.30 1.31使用下列命令的 版本。

    eksctl upgrade nodegroup \ --name=node-group-name \ --cluster=my-cluster \ --region=region-code \ --kubernetes-version=1.31
AWS Management Console
使用 更新節點群組版本 AWS Management Console
  1. 開啟位於 https://console.aws.amazon.com/eks/home#/clusters 的 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 (更新策略),選取下列其中一個選項:

    • 滾動更新 – 此選項尊重 Pod 叢集的中斷預算。如果有 ,則更新會失敗 Pod 造成 Amazon EKS無法正常耗盡 的中斷預算問題 Pods 在此節點群組上執行的 。

    • 強制更新 – 此選項不尊重 Pod 中斷預算。無論 Pod 透過強制節點重新啟動來中斷預算問題。

  6. 選擇 Update (更新)。

編輯節點群組組態

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

編輯節點群組組態
  1. 開啟位於 https://console.aws.amazon.com/eks/home#/clusters 的 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 (儲存變更)。

重要

更新節點群組組態時,修改 NodegroupScalingConfig 不尊重 Pod 中斷預算 (PDBs)。與更新 Nodegroup 程序 (在PDBs升級階段期間消耗節點和尊重) 不同,更新擴展組態會導致節點透過 Auto Scaling 群組 (ASG) 縮減呼叫立即終止。無論您要擴展到的目標大小為何PDBs,這都不會考慮 。這表示當您減少 Amazon EKS受管節點群組desiredSize的 時,Pods 會在節點終止時立即發出,而不會承兌任何 PDBs。