View a markdown version of this page

Membuat Kumpulan Simpul untuk Mode Otomatis EKS - Amazon EKS

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:

  1. Buat file YAML bernama nodepool.yaml dengan NodePool konfigurasi yang Anda butuhkan. Anda dapat menggunakan konfigurasi sampel di bawah ini.

  2. Terapkan NodePool ke cluster Anda:

    kubectl apply -f nodepool.yaml
  3. Verifikasi NodePool bahwa berhasil dibuat:

    kubectl get nodepools
  4. (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 pada instance

karpenter. sh/capacity-Tipe

melihat

Jenis kapasitas meliputispot,on-demand, danreserved. Jika Anda tidak menentukan jenis kapasitas, Karpenter memprioritaskanreserved, laluspot. on-demand

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

aws

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 dengankarpenter.sh/capacity-type: reserved.

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:

  1. Buat cluster EKS dengan keduanya nodePools dan nodeRoleArn nilai kosong.

  2. Buat kelas node kustom dengan peran node ARN

  3. Buat entri akses untuk kelas node kustom

  4. 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 di Dokumentasi Karpenter.

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 dalam dokumentasi Karpenter.

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.