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 EKS Fargate zu EKS Auto Mode
In diesem Thema wird der Prozess der Migration von Workloads von EKS Fargate zu Amazon EKS Auto Mode mithilfe von kubectl erläutert 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, EKS Fargate und EKS Auto Mode während des Migrationszeitraums parallel auszuführen. Diese Dual-Betriebsstrategie trägt zu einem nahtlosen Übergang bei, indem sie Ihnen die Möglichkeit bietet, das Workload-Verhalten in EKS Auto Mode zu validieren, bevor Sie EKS Fargate 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.
Vergleich von Amazon EKS Auto Mode und EKS mit AWS Fargate
Amazon EKS mit AWS Fargate bleibt eine Option für Kunden, die EKS ausführen möchten, aber Amazon EKS Auto Mode ist in Zukunft der empfohlene Ansatz. EKS Auto Mode ist vollständig Kubernetes-konform und unterstützt alle Upstream-Kubernetes-Primitive und Plattform-Tools wie Istio, die Fargate nicht unterstützen kann. Der automatische Modus von EKS unterstützt außerdem vollständig alle EC2 Runtime-Kaufoptionen, einschließlich GPU- und Spot-Instances, sodass Kunden ausgehandelte EC2 Rabatte und andere Sparmechanismen nutzen können. Diese Funktionen sind bei der Verwendung von EKS mit Fargate nicht verfügbar.
Darüber hinaus ermöglicht EKS Auto Mode Kunden, dasselbe Isolationsmodell wie Fargate zu erreichen und dabei die standardmäßigen Kubernetes-Planungsfunktionen zu verwenden, um sicherzustellen, dass auf jeder EC2 Instanz ein einziger Anwendungscontainer ausgeführt wird. Durch die Einführung von Amazon EKS Auto Mode können Kunden alle Vorteile der Ausführung von Kubernetes nutzen AWS — eine vollständig Kubernetes-konforme Plattform, die die Flexibilität bietet, die gesamte Bandbreite an Kaufoptionen zu nutzen und gleichzeitig die Benutzerfreundlichkeit EC2 und Abstraktion von der Infrastrukturverwaltung beizubehalten, die Fargate bietet.
Voraussetzungen
Stellen Sie vor Beginn der Migration sicher, dass Sie über Folgendes verfügen:
-
Richten Sie einen Cluster mit Fargate ein. Weitere Informationen finden Sie unter Beginnen Sie mit AWS Fargate für Ihren Cluster.
-
Installiert und
kubectlmit Ihrem Cluster verbunden. Weitere Informationen finden Sie unter Einrichtung zur Verwendung von Amazon EKS.
Schritt 1: Fargate-Cluster überprüfen
-
Ausführung der EKS-Cluster mit Fargate überprüfen:
kubectl get nodeNAME STATUS ROLES AGE VERSION fargate-ip-192-168-92-52.ec2.internal Ready <none> 25m v1.30.8-eks-2d5f260 fargate-ip-192-168-98-196.ec2.internal Ready <none> 24m v1.30.8-eks-2d5f260
-
Ausgeführte Pods überprüfen:
kubectl get pod -ANAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-6659cb98f6-gxpjz 1/1 Running 0 26m kube-system coredns-6659cb98f6-gzzsx 1/1 Running 0 26m
-
Bereitstellung in einer Datei mit dem Namen
deployment_fargate.yamlerstellen:apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: eks.amazonaws.com/compute-type: fargate spec: containers: - name: nginx image: nginx ports: - containerPort: 80 -
Bereitstellung durchführen:
kubectl apply -f deployment_fargate.yamldeployment.apps/nginx-deployment created
-
Pods und Bereitstellungen überprüfen:
kubectl get pod,deployNAME READY STATUS RESTARTS AGE pod/nginx-deployment-5c7479459b-6trtm 1/1 Running 0 61s pod/nginx-deployment-5c7479459b-g8ssb 1/1 Running 0 61s pod/nginx-deployment-5c7479459b-mq4mf 1/1 Running 0 61s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/nginx-deployment 3/3 3 3 61s
-
Knoten überprüfen:
kubectl get node -owideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME fargate-ip-192-168-111-43.ec2.internal Ready <none> 31s v1.30.8-eks-2d5f260 192.168.111.43 <none> Amazon Linux 2 5.10.234-225.910.amzn2.x86_64 containerd://1.7.25 fargate-ip-192-168-117-130.ec2.internal Ready <none> 36s v1.30.8-eks-2d5f260 192.168.117.130 <none> Amazon Linux 2 5.10.234-225.910.amzn2.x86_64 containerd://1.7.25 fargate-ip-192-168-74-140.ec2.internal Ready <none> 36s v1.30.8-eks-2d5f260 192.168.74.140 <none> Amazon Linux 2 5.10.234-225.910.amzn2.x86_64 containerd://1.7.25
Schritt 2: 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.
-
Knoten-Pool überprüfen:
kubectl get nodepoolNAME NODECLASS NODES READY AGE general-purpose default 1 True 6m58s system default 0 True 3d14h
Schritt 3: Workloads für die Migration aktualisieren
Identifizieren und aktualisieren Sie die Workloads, die Sie in EKS Auto Mode migrieren möchten.
Um eine Workload von Fargate nach EKS Auto Mode zu migrieren, wenden Sie die Annotation eks.amazonaws.com/compute-type: ec2 an. Dadurch wird sichergestellt, dass die Arbeitslast trotz des Fargate-Profils nicht von Fargate geplant wird, sondern vom EKS-Automatikmodus übernommen wird. NodePool Weitere Informationen finden Sie unter Einen Knotenpool für EKS Auto Mode erstellen.
-
Ändern Sie Ihre Bereitstellungen (beispielsweise die
deployment_fargate.yaml-Datei), um den Rechentyp aufec2umzustellen:apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: eks.amazonaws.com/compute-type: ec2 spec: containers: - name: nginx image: nginx ports: - containerPort: 80 -
Wenden Sie die Bereitstellung an. Durch diese Änderung kann die Workload auf den neuen EKS-Auto–Mode-Knoten geplant werden:
kubectl apply -f deployment_fargate.yaml -
Überprüfen Sie, ob die Bereitstellung im EKS-Auto-Mode-Cluster ausgeführt wird:
kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deployment-97967b68d-ffxxh 1/1 Running 0 3m31s 192.168.43.240 i-0845aafcb51630ffb <none> <none> nginx-deployment-97967b68d-mbcgj 1/1 Running 0 2m37s 192.168.43.241 i-0845aafcb51630ffb <none> <none> nginx-deployment-97967b68d-qpd8x 1/1 Running 0 2m35s 192.168.43.242 i-0845aafcb51630ffb <none> <none>
-
Überprüfen Sie, ob kein Fargate-Knoten ausgeführt wird und keine Bereitstellung in den verwalteten Knoten in EKS Auto Mode ausgeführt wird:
kubectl get node -owideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME i-0845aafcb51630ffb Ready <none> 3m30s v1.30.8-eks-3c20087 192.168.41.125 3.81.118.95 Bottlerocket (EKS Auto) 2025.3.14 (aws-k8s-1.30) 6.1.129 containerd://1.7.25+bottlerocket
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: Das ursprüngliche Fargate-Profil entfernen
Sobald alle Workloads migriert wurden, können Sie das ursprüngliche fargate-Profil entfernen. Ersetze es <fargate profile name> durch den Namen deines Fargate-Profils:
aws eks delete-fargate-profile --cluster-name eks-fargate-demo-cluster --fargate-profile-name <fargate profile name>
Schritt 6: CoreDNS herunterskalieren
Da EKS Auto Mode CoreDNS verwaltet, skalieren Sie die coredns-Bereitstellung auf 0 herunter:
kubectl scale deployment coredns -n kube-system —-replicas=0