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:
-
Karpenter v1.1 oder höher muss auf Ihrem Cluster installiert sein. Weitere Informationen finden Sie unter Upgrade auf 1.1.0+
in der Karpenter-Dokumentation. -
kubectlinstalliert und mit Ihrem Cluster verbunden. Weitere Informationen finden Sie unter Einrichtung zur Verwendung von Amazon EKS.
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