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.
Membuat Kumpulan Simpul untuk Mode Otomatis EKS
Kumpulan simpul Amazon EKS menawarkan cara fleksibel untuk mengelola sumber daya komputasi di cluster Kubernetes Anda. Topik ini menunjukkan cara membuat dan mengkonfigurasi kumpulan node dengan menggunakan Karpenter, alat penyediaan node yang membantu mengoptimalkan penskalaan cluster dan pemanfaatan sumber daya. Dengan NodePool sumber daya Karpenter, Anda dapat menentukan persyaratan khusus untuk sumber daya komputasi Anda, termasuk jenis instans, zona ketersediaan, arsitektur, dan tipe kapasitas.
Anda tidak dapat memodifikasi kumpulan bawaan system dan general-purpose simpul. Anda hanya dapat mengaktifkan atau menonaktifkannya. Untuk informasi selengkapnya, lihat Aktifkan atau Nonaktifkan Built-in NodePools.
NodePool Spesifikasi memungkinkan kontrol halus atas sumber daya komputasi cluster EKS Anda melalui berbagai label dan persyaratan yang didukung. Ini termasuk opsi untuk menentukan kategori instans EC2, konfigurasi CPU, zona ketersediaan, arsitektur (ARM64/AMD64), dan jenis kapasitas (spot atau on-demand). Anda juga dapat menetapkan batas sumber daya untuk penggunaan CPU dan memori, memastikan cluster Anda tetap dalam batas operasional yang diperlukan.
EKS Auto Mode memanfaatkan label Kubernetes yang terkenal untuk memberikan cara yang konsisten dan standar untuk mengidentifikasi karakteristik node. Label ini, seperti topology.kubernetes.io/zone untuk zona ketersediaan dan kubernetes.io/arch untuk arsitektur CPU, mengikuti konvensi Kubernetes yang sudah mapan. Selain itu, EKS-specific label (diawali denganeks.amazonaws.com/) memperluas fungsionalitas AWS ini dengan atribut spesifik seperti jenis instans, produsen CPU, kemampuan GPU, dan spesifikasi jaringan. Sistem pelabelan standar ini memungkinkan integrasi tanpa batas dengan alat Kubernetes yang ada sambil menyediakan integrasi infrastruktur yang mendalam AWS .
Buat NodePool
Ikuti langkah-langkah berikut NodePool untuk membuat cluster Amazon EKS Anda:
-
Buat file YAML bernama
nodepool.yamldengan NodePool konfigurasi yang Anda butuhkan. Anda dapat menggunakan konfigurasi sampel di bawah ini. -
Terapkan NodePool ke cluster Anda:
kubectl apply -f nodepool.yaml -
Verifikasi NodePool bahwa berhasil dibuat:
kubectl get nodepools -
(Opsional) Pantau NodePool status:
kubectl describe nodepool default
Pastikan NodePool referensi Anda valid NodeClass yang ada di cluster Anda. Men NodeClass definisikan konfigurasi AWS spesifik untuk sumber daya komputasi Anda. Untuk informasi selengkapnya, lihat Buat Kelas Node untuk Amazon EKS.
Sampel NodePool
apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: my-node-pool spec: template: metadata: labels: billing-team: my-team spec: nodeClassRef: group: eks.amazonaws.com kind: NodeClass name: default requirements: - key: "eks.amazonaws.com/instance-category" operator: In values: ["c", "m", "r"] - key: "eks.amazonaws.com/instance-cpu" operator: In values: ["4", "8", "16", "32"] - key: "topology.kubernetes.io/zone" operator: In values: ["us-west-2a", "us-west-2b"] - key: "kubernetes.io/arch" operator: In values: ["arm64", "amd64"] disruption: consolidationPolicy: Balanced consolidateAfter: 30s limits: cpu: "1000" memory: 1000Gi
Label yang Didukung Mode Otomatis EKS
Mode Otomatis EKS mendukung label terkenal berikut.
catatan
EKS Auto Mode menggunakan label yang berbeda dari Karpenter. Label yang terkait dengan instans terkelola EC2 dimulai denganeks.amazonaws.com.
| Label | Contoh | Deskripsi |
|---|---|---|
|
topology.kubernetes. io/zone |
us-timur-2a |
AWS wilayah |
|
node.kubernetes. io/instance-Tipe |
g4dn.8xlarge |
AWS jenis contoh |
|
kubernetes. io/arch |
amd64 |
Arsitektur didefinisikan oleh nilai GOARCH |
|
karpenter. sh/capacity-Tipe |
melihat |
Jenis kapasitas meliputi |
|
eks.amazonaws. com/instance-hypervisor |
nitro |
Jenis instans yang menggunakan hypervisor tertentu |
|
eks.amazonaws. com/compute-Tipe |
auto |
Mengidentifikasi node yang dikelola Mode Otomatis EKS |
|
eks.amazonaws. com/instance-enkripsi-dalam-transit didukung |
true |
Jenis instans yang mendukung (atau tidak) enkripsi dalam transit |
|
eks.amazonaws. com/instance-kategori |
g |
Jenis instance dari kategori yang sama, biasanya string sebelum nomor generasi |
|
eks.amazonaws. com/instance-generasi |
4 |
Nomor pembuatan tipe instans dalam kategori instance |
|
eks.amazonaws. com/instance-keluarga |
g4dn |
Jenis instance properti serupa tetapi jumlah sumber daya yang berbeda |
|
eks.amazonaws. com/instance-ukuran |
8xlarge |
Jenis instance dari jumlah sumber daya yang serupa tetapi properti yang berbeda |
|
eks.amazonaws. com/instance-CPU |
32 |
Jumlah CPU pada instance |
|
eks.amazonaws. com/instance-produsen CPU |
|
Nama produsen CPU |
|
eks.amazonaws. com/instance-memori |
131072 |
Jumlah mebibyte memori pada instance |
|
eks.amazonaws. com/instance-ebs-bandwidth |
9500 |
Jumlah megabit maksimum EBS yang tersedia pada instans |
|
eks.amazonaws. com/instance-bandwidth jaringan- |
131072 |
Jumlah megab it dasar yang tersedia pada instans |
|
eks.amazonaws. com/instance-nama gpu |
t4 |
Nama GPU pada instance, jika tersedia |
|
eks.amazonaws. com/instance-produsen GPU |
nvidia |
Nama produsen GPU |
|
eks.amazonaws. com/instance-jumlah gpu |
1 |
Jumlah GPU pada instance |
|
eks.amazonaws. com/instance-memori gpu |
16384 |
Jumlah mebibyte memori pada GPU |
|
eks.amazonaws. com/instance-lokal-nvme |
900 |
Jumlah gibibyte penyimpanan nvme lokal pada instance |
|
eks.amazonaws. com/capacity-reservasi-interupsi |
true |
Apakah reservasi kapasitas dapat terganggu. Hanya hadir pada node dengan |
catatan
Mode Otomatis EKS hanya mendukung instance tertentu, dan memiliki persyaratan ukuran minimum. Untuk informasi selengkapnya, lihat Referensi instans yang didukung Mode Otomatis EKS.
Mode Otomatis EKS Tidak Didukung Label
Mode Otomatis EKS tidak mendukung label berikut.
-
Mode Otomatis EKS hanya mendukung Linux
-
node.kubernetes.io/windows-build -
kubernetes.io/os
-
Nonaktifkan kumpulan simpul bawaan
Jika Anda membuat kumpulan simpul khusus, Anda dapat menonaktifkan kumpulan node bawaan. Untuk informasi selengkapnya, lihat Aktifkan atau Nonaktifkan Built-in NodePools.
Cluster tanpa kumpulan node bawaan
Anda dapat membuat cluster tanpa kumpulan node bawaan. Ini sangat membantu ketika organisasi Anda telah membuat kumpulan simpul khusus.
catatan
Saat Anda membuat cluster tanpa kumpulan node bawaan, cluster tidak default NodeClass disediakan secara otomatis. Anda harus membuat kustom NodeClass. Untuk informasi selengkapnya, lihat Buat Kelas Node untuk Amazon EKS.
Ikhtisar:
-
Buat cluster EKS dengan keduanya
nodePoolsdannodeRoleArnnilai kosong.-
Contoh eksctl:
autoModeConfigautoModeConfig: enabled: true nodePools: [] # Do not set a nodeRoleARNUntuk informasi selengkapnya, lihat Buat Kluster Mode Otomatis EKS dengan CLI eksctl
-
-
Buat kelas node kustom dengan peran node ARN
-
Untuk informasi selengkapnya, lihat Buat Kelas Node untuk Amazon EKS
-
-
Buat entri akses untuk kelas node kustom
-
Untuk informasi selengkapnya, lihat Buat entri akses kelas node
-
-
Buat kumpulan simpul kustom, seperti dijelaskan di atas.
Gangguan
Anda dapat mengonfigurasi Mode Otomatis EKS untuk mengganggu Node melalui Anda NodePool dengan berbagai cara. Anda dapat menggunakanspec.disruption.consolidationPolicy,spec.disruption.consolidateAfter, atauspec.template.spec.expireAfter. Anda juga dapat menilai membatasi gangguan Mode Otomatis EKS melalui NodePool'sspec.disruption.budgets. Anda juga dapat mengontrol jendela waktu dan jumlah Node simultan yang terganggu. Untuk petunjuk tentang mengkonfigurasi perilaku ini, lihat Gang guan
consolidationPolicyBidang menerima tiga nilai:
-
WhenEmpty— Mengkonsolidasikan hanya node kosong, sehingga beban kerja yang berjalan tidak pernah terganggu. -
WhenEmptyOrUnderutilized— Mengkonsolidasikan secara agresif untuk biaya, mengganggu beban kerja setiap kali pod node dapat dikemas ulang dengan lebih murah. -
Balanced— Nilai setiap tindakan konsolidasi dengan menimbang biaya gangguan terhadap penghematan biaya. Melewati tindakan di mana gangguan melebihi penghematan.
Untuk detail tentang setiap nilai, lihat Gang guan
Anda dapat mengonfigurasi gangguan untuk kumpulan node untuk:
-
Mengidentifikasi kapan instance kurang dimanfaatkan, dan konsolidasikan beban kerja.
-
Buat anggaran gangguan kumpulan node untuk menilai batas penghentian node karena penyimpangan, kekosongan, dan konsolidasi.
Secara default, Mode Otomatis EKS:
-
Mengkonsolidasikan instans yang kurang dimanfaatkan.
-
Menghentikan instance setelah 336 jam.
-
Menetapkan anggaran gangguan tunggal sebesar 10% dari node.
-
Memungkinkan Node diganti karena penyimpangan ketika AMI Mode Otomatis baru dirilis, yang terjadi kira-kira sekali seminggu.
Masa tenggang penghentian
Ketika a tidak terminationGracePeriod didefinisikan secara eksplisit pada Mode Otomatis EKS NodePool, sistem secara otomatis menerapkan masa tenggang penghentian 24 jam default ke mode terkait NodeClaim. Sementara pelanggan Mode Otomatis EKS tidak akan melihat terminationGracePeriod default dalam NodePool konfigurasi khusus mereka, mereka akan mengamati nilai default ini pada NodeClaim. Fungsionalitas tetap konsisten apakah masa tenggang secara eksplisit ditetapkan pada NodePool atau default pada NodeClaim, memastikan perilaku penghentian node yang dapat diprediksi di seluruh cluster.