Bantu tingkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bermigrasi dari EKS Fargate ke Mode Otomatis EKS
Topik ini memandu Anda melalui proses migrasi beban kerja dari EKS Fargate ke Amazon EKS Auto Mode menggunakan. kubectl
Migrasi dapat dilakukan secara bertahap, memungkinkan Anda untuk memindahkan beban kerja dengan kecepatan Anda sendiri sambil menjaga stabilitas klaster dan ketersediaan aplikasi selama transisi.
step-by-stepPendekatan yang diuraikan di bawah ini memungkinkan Anda menjalankan EKS Fargate dan Mode Otomatis EKS berdampingan selama periode migrasi. Strategi operasi ganda ini membantu memastikan transisi yang mulus dengan memungkinkan Anda memvalidasi perilaku beban kerja pada Mode Otomatis EKS sebelum sepenuhnya menonaktifkan EKS Fargate. Anda dapat memigrasikan aplikasi secara individu atau dalam kelompok, memberikan fleksibilitas untuk mengakomodasi persyaratan operasional spesifik dan toleransi risiko Anda.
Membandingkan Amazon EKS Auto Mode dan EKS dengan AWS Fargate
Amazon EKS dengan AWS Fargate tetap menjadi pilihan bagi pelanggan yang ingin menjalankan EKS, tetapi Amazon EKS Auto Mode adalah pendekatan yang disarankan untuk bergerak maju. Mode Otomatis EKS sepenuhnya sesuai dengan Kubernetes, mendukung semua primitif Kubernetes hulu dan alat platform seperti Istio, yang tidak dapat didukung Fargate. Mode Otomatis EKS juga sepenuhnya mendukung semua opsi pembelian EC2 runtime, termasuk instans GPU dan Spot, memungkinkan pelanggan untuk memanfaatkan EC2 diskon yang dinegosiasikan dan mekanisme penghematan lainnya Kemampuan ini tidak tersedia saat menggunakan EKS dengan Fargate.
Selain itu, Mode Otomatis EKS memungkinkan pelanggan untuk mencapai model isolasi yang sama dengan Fargate, menggunakan kemampuan penjadwalan Kubernetes standar untuk memastikan setiap EC2 instance menjalankan satu wadah aplikasi. Dengan mengadopsi Amazon EKS Auto Mode, pelanggan dapat membuka manfaat penuh dari menjalankan Kubernetes AWS — platform Kubernetes-Conformant sepenuhnya yang memberikan fleksibilitas untuk memanfaatkan seluruh luasnya dan opsi pembelian sambil mempertahankan kemudahan penggunaan EC2 dan abstraksi dari manajemen infrastruktur yang disediakan Fargate.
Prasyarat
Sebelum memulai migrasi, pastikan Anda memiliki
-
Siapkan cluster dengan Fargate. Untuk informasi selengkapnya, lihat Memulai AWS Fargate untuk klaster Anda.
-
Diinstal dan terhubung
kubectl
ke cluster Anda. Untuk informasi selengkapnya, lihat Siapkan untuk menggunakan Amazon EKS.
Langkah 1: Periksa cluster Fargate
-
Periksa apakah cluster EKS dengan Fargate sedang berjalan:
kubectl get node
NAME 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
-
Periksa pod yang sedang berjalan:
kubectl get pod -A
NAMESPACE 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
-
Buat penyebaran dalam file bernama
deployment_fargate.yaml
: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
-
Terapkan penyebaran:
kubectl apply -f deployment_fargate.yaml
deployment.apps/nginx-deployment created
-
Periksa pod dan penerapan:
kubectl get pod,deploy
NAME 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
-
Periksa simpul:
kubectl get node -owide
NAME 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
Langkah 2: Aktifkan Mode Otomatis EKS di cluster
-
Aktifkan Mode Otomatis EKS di cluster Anda yang ada menggunakan AWS CLI atau Management Console. Untuk informasi selengkapnya, lihat Aktifkan Mode Otomatis EKS pada cluster yang ada.
-
Periksa nodepool:
kubectl get nodepool
NAME NODECLASS NODES READY AGE general-purpose default 1 True 6m58s system default 0 True 3d14h
Langkah 3: Perbarui beban kerja untuk migrasi
Identifikasi dan perbarui beban kerja yang ingin Anda migrasi ke Mode Otomatis EKS.
Untuk memigrasikan beban kerja dari Fargate ke Mode Otomatis EKS, terapkan anotasi. eks.amazonaws.com/compute-type: ec2
Ini memastikan bahwa beban kerja tidak akan dijadwalkan oleh Fargate, terlepas dari profil Fargate, dan akan terjebak oleh Mode Otomatis EKS. NodePool Untuk informasi selengkapnya, lihat Buat Node Pool untuk Mode Otomatis EKS.
-
Ubah penerapan Anda (misalnya,
deployment_fargate.yaml
file) untuk mengubah jenis komputasi menjadi:ec2
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
-
Terapkan penyebaran. Perubahan ini memungkinkan beban kerja dijadwalkan pada node Mode Otomatis EKS yang baru:
kubectl apply -f deployment_fargate.yaml
-
Periksa apakah penerapan berjalan di kluster Mode Otomatis EKS:
kubectl get pod -o wide
NAME 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>
-
Pastikan tidak ada node Fargate yang berjalan dan penerapan yang berjalan di node terkelola Mode Otomatis EKS:
kubectl get node -owide
NAME 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
Langkah 4: Migrasikan beban kerja secara bertahap
Ulangi Langkah 3 untuk setiap beban kerja yang ingin Anda migrasikan. Ini memungkinkan Anda untuk memindahkan beban kerja secara individu atau dalam kelompok, berdasarkan persyaratan dan toleransi risiko Anda.
Langkah 5: Hapus profil fargate asli
Setelah semua beban kerja dimigrasikan, Anda dapat menghapus profil aslinyafargate
. Ganti <fargate profile name>
dengan nama profil Fargate Anda:
aws eks delete-fargate-profile --cluster-name eks-fargate-demo-cluster --fargate-profile-name <fargate profile name>
Langkah 6: Turunkan CoreDNS
Karena mode EKS Auto menangani CoreDNS, Anda menskalakan penerapan coredns
ke 0:
kubectl scale deployment coredns -n kube-system —replicas=0