Bantu meningkatkan 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 GitHub tautan Edit halaman ini di 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.
Perbarui sebuah AWS CloudFormation tumpukan simpul
Topik ini menjelaskan cara memperbarui tumpukan simpul yang AWS CloudFormation dikelola sendiri yang ada dengan AMI baru. Anda dapat menggunakan prosedur ini untuk memperbarui node Anda ke versi baru Kubernetes setelah pembaruan cluster. Jika tidak, Anda dapat memperbarui ke AMI terbaru yang dioptimalkan Amazon EKS untuk versi Kubernetes yang ada.
penting
Topik ini mencakup pembaruan simpul untuk simpul yang dikelola sendiri. Untuk informasi tentang menggunakan S ederhanakan siklus hidup node dengan grup node terkelola, lihatMemperbarui grup node terkelola untuk klaster Anda.
AWS CloudFormation Template simpul Amazon EKS default terbaru dikonfigurasi untuk meluncurkan instance dengan AMI baru ke cluster Anda sebelum menghapus yang lama, satu per satu. Konfigurasi ini memastikan bahwa Anda selalu memiliki jumlah instans aktif yang diinginkan grup Penskalaan Otomatis di cluster Anda selama pembaruan bergulir.
catatan
Metode ini tidak didukung untuk grup node yang dibuat denganeksctl. Jika Anda membuat grup klaster atau simpul dengan eksctl, lihat Migrasikan aplikasi ke grup node baru.
-
Tentukan penyedia DNS untuk cluster Anda.
kubectl get deployments -l k8s-app=kube-dns -n kube-systemContoh output adalah sebagai berikut. Cluster ini menggunakan CoreDNS untuk resolusi DNS, tetapi cluster Anda mungkin kembali
kube-dnssebagai gantinya. Output Anda mungkin terlihat berbeda tergantung pada versikubectlyang Anda gunakan.NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE coredns 1 1 1 1 31m -
Jika deployment Anda saat ini berjalan kurang dari dua replika, skalakan deployment menjadi dua replika. Ganti
corednsdengankube-dnsjika output perintah Anda sebelumnya mengembalikannya.kubectl scale deployments/coredns --replicas=2 -n kube-system -
(Opsional) Jika Anda menggunakan Kubernetes Cluster Autoscaler
, skala penerapan hingga nol (0) replika untuk menghindari tindakan penskalaan yang bertentangan. kubectl scale deployments/cluster-autoscaler --replicas=0 -n kube-system -
Tentukan jenis instance dan jumlah instance yang diinginkan dari grup node Anda saat ini. Anda memasukkan nilai-nilai ini nanti ketika Anda memperbarui AWS CloudFormation template untuk grup.
-
Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.
-
Di panel navigasi kiri, pilih Luncurkan Konfigurasi, dan catat jenis instance untuk konfigurasi peluncuran node yang ada.
-
Di panel navigasi kiri, pilih Grup Penskalaan Otomatis, dan catat jumlah instans yang diinginkan untuk grup Penskalaan Otomatis node yang ada.
-
-
Buka konsol AWS CloudFormation
. -
Pilih tumpukan grup simpul Anda, dan kemudian pilih Perbarui.
-
Pilih Ganti template saat ini dan pilih URL Amazon S3.
-
Untuk URL Amazon S3, tempelkan URL berikut ke area teks untuk memastikan bahwa Anda menggunakan AWS CloudFormation template node versi terbaru. Kemudian, pilih Ber ikutnya:
https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2022-12-23/amazon-eks-nodegroup.yaml -
Pada halaman Menentukan detail tumpukan, isilah parameter berikut dan pilih Selanjutnya:
-
NodeAutoScalingGroupDesiredCapacity— Masukkan jumlah instance yang diinginkan yang Anda rekam pada langkah sebelumnya. Atau, masukkan jumlah node baru yang Anda inginkan untuk diskalakan saat tumpukan Anda diperbarui.
-
NodeAutoScalingGroupMaxSize— Masukkan jumlah maksimum node yang dapat ditingkatkan oleh grup Penskalaan Otomatis node Anda. Nilai ini harus setidaknya satu node lebih dari kapasitas yang Anda inginkan. Ini agar Anda dapat melakukan pembaruan bergulir dari node Anda tanpa mengurangi jumlah node Anda selama pembaruan.
-
NodeInstanceType— Pilih jenis instance yang Anda rekam di langkah sebelumnya. Atau, pilih jenis instance yang berbeda untuk node Anda. Sebelum memilih jenis instans yang berbeda, tinjau Pilih jenis instans node Amazon EC2 yang optimal. Setiap jenis instans Amazon EC2 mendukung jumlah maksimum antarmuka jaringan elastis (antarmuka jaringan) dan setiap antarmuka jaringan mendukung jumlah maksimum alamat IP. Karena setiap node pekerja dan Pod diberi alamat IP-nya sendiri, penting untuk memilih jenis instans yang akan mendukung jumlah maksimum Pod yang ingin Anda jalankan di setiap node Amazon EC2. Untuk daftar jumlah antarmuka jaringan dan alamat IP yang didukung oleh jenis instans, lihat Alamat IP per antarmuka jaringan per jenis instans. Misalnya, jenis
m5.largeinstans mendukung maksimum 30 alamat IP untuk node pekerja dan Pod.catatan
Jenis instans yang didukung untuk versi terbaru plugin Amazon VPC CNI untuk Kubernetes ditampilkan di vpc_ip_resource_limit.go
on. https://github.com/aws/amazon-vpc-cni-k8s/blob/master/pkg/vpc/vpc_ip_resource_limit.go GitHub Anda mungkin perlu memperbarui plugin Amazon VPC CNI untuk versi Kubernetes untuk menggunakan jenis instans terbaru yang didukung. Untuk informasi selengkapnya, lihat Tetapkan IP ke Pod dengan Amazon VPC CNI. penting
Beberapa jenis instans mungkin tidak tersedia di semua Wil AWS ayah.
-
NodeImageIdSSMParam— Parameter Amazon EC2 Systems Manager dari ID AMI yang ingin Anda perbarui. Nilai berikut menggunakan versi AMI terbaru yang dioptimalkan Amazon EKS untuk Kubernetes.
1.36/aws/service/eks/optimized-ami/1.36/amazon-linux-2/recommended/image_idAnda dapat mengganti
1.36dengan versi platform yang sama. Atau, itu harus hingga satu versi lebih awal dari versi Kubernetes yang berjalan di bidang kontrol Anda. Kami rekomendasikan supaya Anda menyimpan simpul pada versi yang sama dengan bidang kendali Anda. Anda juga dapat menggantiamazon-linux-2dengan jenis AMI yang berbeda. Untuk informasi selengkapnya, lihat Ambil AMI Amazon Linux yang direkomendasikan IDs.catatan
Menggunakan parameter Amazon EC2 Systems Manager memungkinkan Anda memperbarui node di masa mendatang tanpa harus mencari dan menentukan ID AMI. Jika AWS CloudFormation tumpukan Anda menggunakan nilai ini, setiap pembaruan tumpukan selalu meluncurkan AMI terbaru yang dioptimalkan Amazon EKS yang direkomendasikan untuk versi Kubernetes yang Anda tentukan. Ini bahkan terjadi bahkan jika Anda tidak mengubah nilai apa pun dalam template.
-
NodeImageId— Untuk menggunakan AMI kustom Anda sendiri, masukkan ID untuk AMI yang akan digunakan.
penting
Nilai ini menggantikan nilai apa pun yang ditentukan untuk NodeImageIdSSMParam. Jika Anda ingin menggunakan NodeImageIdSSMParam nilai, pastikan nilai untuk NodeImageId kosong.
-
DisableIMDSv1 — Secara default, setiap node mendukung Instance Metadata Service Version 1 (IMDSv1) dan IMDSv2. Namun, Anda dapat menonaktifkan IMDSv1. Pilih true jika Anda tidak ingin node atau Pod apa pun yang dijadwalkan dalam grup node untuk menggunakan IMDSv1. Untuk informasi selengkapnya tentang IMDS, lihat Mengonfigurasi layanan metadata instans. Jika Anda telah menerapkan peran IAM untuk akun layanan, tetapkan izin yang diperlukan secara langsung ke semua Pod yang memerlukan akses ke AWS layanan. Dengan cara ini, tidak ada Pod di cluster Anda yang memerlukan akses ke IMDS karena alasan lain, seperti mengambil Wilayah saat ini AWS . Kemudian, Anda juga dapat menonaktifkan akses ke IMDSv2 untuk Pod yang tidak menggunakan jaringan host. Untuk informasi selengkapnya, lihat Mem batasi akses ke profil instance yang ditetapkan ke node pekerja
.
-
-
(Opsional) Di halaman Opsi, tandai sumber daya tumpukan Anda. Pilih Berikutnya.
-
Pada halaman Tinjauan, tinjau informasi Anda, nyatakan bahwa tumpukan dapat membuat sumber daya IAM, kemudian pilih Perbarui tumpukan.
catatan
Pembaruan setiap simpul dalam klaster membutuhkan waktu beberapa menit. Tunggu pembaruan semua simpul selesai sebelum melakukan langkah berikutnya.
-
Jika penyedia DNS cluster Anda adalah
kube-dns, skalakube-dnspenerapan ke satu replika.kubectl scale deployments/kube-dns --replicas=1 -n kube-system -
(Opsional) Jika Anda menggunakan Autoscaler Klaster
Kubernetes, skalakan kembali deployment ke jumlah replika yang Anda inginkan. kubectl scale deployments/cluster-autoscaler --replicas=1 -n kube-system -
(Opsional) Pastikan Anda menggunakan plugin Amazon VPC CNI versi terbaru untuk Kubernetes.
Anda mungkin perlu memperbarui plugin Amazon VPC CNI untuk versi Kubernetes untuk menggunakan jenis instans terbaru yang didukung. Lihat informasi yang lebih lengkap di Tetapkan IP ke Pod dengan Amazon VPC CNI.