選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 kubectl 從 Karpenter 遷移至 EKS Auto Mode

焦點模式
使用 kubectl 從 Karpenter 遷移至 EKS Auto Mode - Amazon EKS

協助改善此頁面

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

若要提供此使用者指南,請選擇位於每個頁面右窗格的 GitHub 上的編輯此頁面連結。

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

協助改善此頁面

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

若要提供此使用者指南,請選擇位於每個頁面右窗格的 GitHub 上的編輯此頁面連結。

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

本主題將逐步引導您使用 kubectl 將工作負載從 Karpenter 遷移至 Amazon EKS Auto Mode。您可以逐步執行遷移,讓您以自己的步調移動工作負載,同時在整個轉換過程中保持叢集穩定性和應用程式可用性。

下面概述step-by-step方法可讓您在遷移期間並排執行 Karpenter 和 EKS Auto Mode。此雙操作策略可讓您在完全停用 Karpenter 之前驗證 EKS Auto Mode 上的工作負載行為,以確保順利轉換。您可以個別或群組遷移應用程式,提供彈性以適應您的特定操作需求和風險承受能力。

先決條件

開始遷移之前,請確定您已:

  • 叢集上安裝 Karpenter v1.1 或更新版本。如需詳細資訊,請參閱 Karpenter 文件中的升級至 1.1.0+

  • kubectl 安裝並連接到您的叢集。如需詳細資訊,請參閱設定 以使用 Amazon EKS

本主題假設您熟悉 Karpenter 和 NodePools。如需詳細資訊,請參閱 Karpenter 文件。

步驟 1:在叢集上啟用 EKS Auto Mode

使用 CLI 或 管理主控台在現有叢集上啟用 AWS EKS Auto Mode。如需詳細資訊,請參閱在現有叢集上啟用 EKS Auto Mode

注意

啟用 EKS Auto Mode 時,請勿在轉換期間在此階段啟用general purpose節點集區。此節點集區不是選擇性的。

如需詳細資訊,請參閱啟用或停用內建 NodePools

步驟 2:建立污點 EKS 自動模式 NodePool

使用污點為 EKS Auto Mode 建立新的 NodePool。這可確保現有的 Pod 不會在新的 EKS Auto Mode 節點上自動排程。此節點集區使用defaultNodeClass內建於 EKS Auto 模式的 。如需詳細資訊,請參閱建立 Amazon EKS 的節點類別

具有污點的範例節點集區:

apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: eks-auto-mode spec: template: spec: requirements: - key: "eks.amazonaws.com/instance-category" operator: In values: ["c", "m", "r"] nodeClassRef: group: eks.amazonaws.com kind: NodeClass name: default taints: - key: "eks-auto-mode" effect: "NoSchedule"

更新節點集區的需求,以符合您要從中遷移的 Karpenter 組態。您需要至少一個需求。

步驟 3:更新工作負載以進行遷移

識別並更新要遷移至 EKS Auto Mode 的工作負載。將公差和節點選取器新增至這些工作負載:

apiVersion: apps/v1 kind: Deployment spec: template: spec: tolerations: - key: "eks-auto-mode" effect: "NoSchedule" nodeSelector: eks.amazonaws.com/compute-type: auto

此變更可讓工作負載排程在新的 EKS Auto Mode 節點上。

EKS Auto Mode 使用與 Karpenter 不同的標籤。與 EC2 受管執行個體相關的標籤以 開頭eks.amazonaws.com。如需詳細資訊,請參閱為 EKS Auto 模式建立節點集區

步驟 4:逐漸遷移工作負載

針對您要遷移的每個工作負載重複步驟 3。這可讓您根據您的需求和風險承受能力,個別或群組移動工作負載。

步驟 5:移除原始 Karpenter NodePool

遷移所有工作負載後,您可以移除原始 Karpenter NodePool:

kubectl delete nodepool <original-nodepool-name>

步驟 6:從 EKS Auto Mode NodePool 移除污點 (選用)

如果您希望 EKS Auto Mode 成為新工作負載的預設值,您可以從 EKS Auto Mode NodePool 中移除污點:

apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: eks-auto-mode spec: template: spec: nodeClassRef: group: eks.amazonaws.com kind: NodeClass name: default # Remove the taints section

步驟 7:從工作負載移除節點選取器 (選用)

如果您已從 EKS Auto Mode NodePool 移除污點,您可以選擇從工作負載中移除節點選擇器,因為 EKS Auto Mode 現在是預設值:

apiVersion: apps/v1 kind: Deployment spec: template: spec: # Remove the nodeSelector section tolerations: - key: "eks-auto-mode" effect: "NoSchedule"

步驟 8:從您的叢集解除安裝 Karpenter

移除 Karpenter 的步驟取決於您的安裝方式。如需詳細資訊,請參閱 Karpenter 安裝說明Helm Uninstall 命令

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。