Migration von Karpenter zu EKS Auto Mode mithilfe von kubectl - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migration von Karpenter zu EKS Auto Mode mithilfe von kubectl

Dieses Thema führt Sie durch den Prozess der Migration von Workloads von Karpenter zu Amazon EKS Auto Mode mithilfe von kubectl. Die Migration kann schrittweise durchgeführt werden, sodass Sie Workloads in Ihrem eigenen Tempo verschieben können, während die Cluster-Stabilität und die Verfügbarkeit der Anwendungen während der gesamten Übergangsphase gewährleistet bleiben.

Der unten beschriebene step-by-step Ansatz ermöglicht es Ihnen, Karpenter und EKS Auto Mode während der Migrationsphase parallel auszuführen. Diese duale Betriebsstrategie gewährleistet einen nahtlosen Übergang, da Sie das Workload-Verhalten in EKS Auto Mode überprüfen können, bevor Sie Karpenter vollständig außer Betrieb nehmen. Sie können Anwendungen einzeln oder in Gruppen migrieren, was Ihnen Flexibilität bietet, um Ihren spezifischen betrieblichen Anforderungen und Ihrer Risikotoleranz gerecht zu werden.

Voraussetzungen

Stellen Sie vor Beginn der Migration sicher, dass Sie über Folgendes verfügen:

Bei diesem Thema wird davon ausgegangen, dass Sie mit Karpenter und vertraut sind. NodePools Weitere Informationen finden Sie in der Dokumentation zu Karpenter.

Schritt 1: EKS Auto Mode auf dem Cluster aktivieren

Aktivieren Sie den EKS-Automatikmodus auf Ihrem vorhandenen Cluster mithilfe der AWS CLI oder der Managementkonsole. Weitere Informationen finden Sie unter Aktivierung von EKS Auto Mode in einem vorhandenen Cluster.

Anmerkung

Aktivieren Sie den general purpose-Knoten-Pool in dieser Phase des Übergangs nicht, während Sie EKS Auto Mode aktivieren. Dieser Knoten-Pool ist nicht selektiv.

Weitere Informationen finden Sie unter Integriert aktivieren oder deaktivieren NodePools.

Schritt 2: Erstellen Sie einen fehlerhaften EKS-Automatikmodus NodePool

Erstellen Sie einen neuen NodePool für EKS Auto Mode mit einem Makel. Dadurch wird sichergestellt, dass vorhandene Pods nicht automatisch auf den neuen EKS-Auto-Mode-Knoten geplant werden. Dieser Knoten-Pool verwendet den in EKS Auto Mode integrierten default NodeClass. Weitere Informationen finden Sie unter Knotenklasse für Amazon EKS erstellen.

Beispiel für einen Knoten-Pool mit Taint:

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"

Aktualisieren Sie die Anforderungen für den Knoten-Pool, damit sie mit der Karpenter-Konfiguration übereinstimmen, von der Sie migrieren. Sie benötigen mindestens eine Anforderung.

Schritt 3: Workloads für die Migration aktualisieren

Identifizieren und aktualisieren Sie die Workloads, die Sie in EKS Auto Mode migrieren möchten. Fügen Sie diesen Workloads sowohl Toleranzen als auch Knoten-Selektoren hinzu:

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

Durch diese Änderung kann die Workload auf den neuen EKS-Auto-Mode-Knoten geplant werden.

EKS Auto Mode verwendet andere Bezeichnungen als Karpenter. Beschriftungen, die sich auf EC2 verwaltete Instanzen beziehen, beginnen miteks.amazonaws.com. Weitere Informationen finden Sie unter Einen Knotenpool für EKS Auto Mode erstellen.

Schritt 4: Workloads schrittweise migrieren

Wiederholen Sie Schritt 3 für jede Workload, die Sie migrieren möchten. Auf diese Weise können Sie Workloads einzeln oder in Gruppen verschieben, je nach Ihren Anforderungen und Ihrer Risikotoleranz.

Schritt 5: Entfernen Sie den ursprünglichen Karpenter NodePool

Sobald alle Workloads migriert wurden, können Sie den ursprünglichen Karpenter entfernen: NodePool

kubectl delete nodepool <original-nodepool-name>

Schritt 6: Entfernen Sie den Makel aus dem EKS-Automatikmodus (optional) NodePool

Wenn Sie möchten, dass der EKS-Automodus zum Standard für neue Workloads wird, können Sie den Makel aus dem EKS-Automatikmodus entfernen: 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

Schritt 7: Knoten-Selektoren aus Workloads entfernen (optional)

Wenn Sie den Makel aus dem EKS-Automatikmodus entfernt haben NodePool, können Sie optional die Node-Selectors aus Ihren Workloads entfernen, da der EKS-Automodus jetzt der Standard ist:

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

Schritt 8: Karpenter von Ihrem Cluster deinstallieren

Die Schritte zum Entfernen von Karpenter hängen davon ab, wie Sie es installiert haben. Weitere Informationen finden Sie in den Installationsanweisungen für Karpenter.