Mencegah Pods dari yang dijadwalkan pada node tertentu - Amazon EKS

Bantu tingkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ingin berkontribusi pada panduan pengguna ini? Pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mencegah Pods dari yang dijadwalkan pada node tertentu

Node dengan prosesor khusus, seperti GPUs, bisa lebih mahal untuk dijalankan daripada node yang berjalan pada mesin yang lebih standar. Untuk alasan itu, Anda mungkin ingin melindungi node tersebut dari beban kerja yang tidak memerlukan perangkat keras khusus agar tidak digunakan ke node tersebut. Salah satu cara untuk melakukannya adalah dengan noda.

Amazon EKS mendukung konfigurasi Kubernetes taints melalui grup node terkelola. Noda dan toleransi bekerja sama untuk memastikan bahwa Pods tidak dijadwalkan ke node yang tidak pantas. Satu atau lebih cacat dapat diterapkan pada sebuah simpul. Ini menandai bahwa node seharusnya tidak menerima apa pun Pods yang tidak mentolerir noda. Toleransi diterapkan pada Pods dan memungkinkan, tetapi tidak memerlukan, Pods untuk menjadwalkan ke node dengan taints yang cocok. Untuk informasi lebih lanjut, lihat Taints and Tolerations in the Kubernetes dokumentasi.

Kubernetes node taints dapat diterapkan ke grup node terkelola baru dan yang sudah ada menggunakan AWS Management Console atau melalui Amazon EKS API.

  • Untuk informasi tentang membuat grup node dengan taint menggunakan AWS Management Console, lihatBuat grup node terkelola untuk klaster Anda.

  • Berikut ini adalah contoh membuat grup node dengan taint menggunakan AWS CLI:

    aws eks create-nodegroup \ --cli-input-json ' { "clusterName": "my-cluster", "nodegroupName": "node-taints-example", "subnets": [ "subnet-1234567890abcdef0", "subnet-abcdef01234567890", "subnet-021345abcdef67890" ], "nodeRole": "arn:aws: iam::111122223333:role/AmazonEKSNodeRole", "taints": [ { "key": "dedicated", "value": "gpuGroup", "effect": "NO_SCHEDULE" } ] }'

Untuk informasi selengkapnya dan contoh penggunaan, lihat taint di Kubernetes dokumentasi referensi.

catatan
  • Taints dapat diperbarui setelah Anda membuat grup node menggunakan UpdateNodegroupConfig API.

  • Kunci cacat harus diawali dengan huruf atau angka. Ini dapat berisi huruf, angka, tanda hubung (-), periode (.), dan garis bawah (). _ Panjangnya bisa mencapai 63 karakter.

  • Secara opsional, kunci cacat dapat dimulai dengan prefiks subdomain DNS dan satu /. Jika dimulai dengan prefiks subdomain DNS, panjangnya bisa mencapai 253 karakter.

  • Nilai adalah opsional dan harus diawali dengan huruf atau angka. Ini dapat berisi huruf, angka, tanda hubung (-), periode (.), dan garis bawah (). _ Panjangnya bisa mencapai 63 karakter.

  • Saat menggunakan Kubernetes langsung atau AWS Management Console, efek noda harusNoSchedule,PreferNoSchedule, atauNoExecute. Namun, saat menggunakan AWS CLI atau API, efek taint harusNO_SCHEDULE,, PREFER_NO_SCHEDULE atau. NO_EXECUTE

  • Maksimal 50 taint diperbolehkan per grup node.

  • Jika taint yang dibuat menggunakan grup node terkelola dihapus secara manual dari node, maka Amazon EKS tidak menambahkan taints kembali ke node. Ini benar bahkan jika taints ditentukan dalam konfigurasi grup node terkelola.

Anda dapat menggunakan perintah aws eks update-nodegroup-config AWS CLI untuk menambahkan, menghapus, atau mengganti taints untuk grup node terkelola.