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.
Kelola perangkat keras di Amazon EKS
Amazon EKS mendukung dua mekanisme Kubernetes untuk mengelola perangkat keras khusus di kluster EKS: Dynamic Resource Allocation (DRA) dan plugin perangkat. Kedua mekanisme memungkinkan beban kerja untuk mengakses akselerator perangkat keras seperti GPU NVIDIA dan chip AWS Trainium, dan perangkat jaringan berkinerja tinggi seperti Elastic Fabric Adapter (EFA). Disarankan untuk menggunakan driver DRA untuk penerapan baru dengan Kubernetes versi 1.34 dan yang lebih baru saat menggunakan grup node terkelola EKS atau node yang dikelola sendiri, karena DRA menyediakan pemilihan perangkat yang lebih kaya, penjadwalan sadar topologi, dan kemampuan berbagi perangkat yang tidak dimungkinkan dengan plugin perangkat.
Referensikan dokumentasi Kubernetes untuk Dynamic Resource Allocation
Alokasi Sumber Daya Dinamis vs plugin perangkat
Plugin perangkat Kubernetes telah menjadi mekanisme utama untuk mengekspos perangkat keras khusus ke beban kerja Kubernetes. Plugin perangkat mengiklankan perangkat sebagai sumber daya tambahan (misalnya, nvidia.com/gpu atauaws.amazon.com/neuroncore) yang Anda minta dalam permintaan dan batasan sumber daya kontainer. Sementara plugin perangkat didukung dan digunakan secara luas, mereka memiliki keterbatasan:
-
Perangkat diminta sebagai jumlah bilangan bulat buram tanpa pemfilteran berbasis atribut.
-
Tidak ada dukungan untuk berbagi perangkat antara kontainer atau Pod.
-
Tidak ada alokasi sadar topologi ekspresif di seluruh jenis perangkat.
-
Ekstensi penjadwal khusus sering diperlukan untuk penempatan cerdas.
Dynamic Resource Allocation (DRA) adalah fitur Kubernetes yang tersedia secara umum di Kubernetes versi 1.34 yang mengatasi keterbatasan ini. Dengan DRA, driver perangkat mempublikasikan atribut perangkat yang kaya ke penjadwal Kubernetes melalui objek. ResourceSlice Anda meminta perangkat yang menggunakan ResourceClaim dan ResourceClaimTemplate objek yang mereferensikan DeviceClass kategori.
DRA memungkinkan:
-
Attribute-based pemilihan perangkat menggunakan ekspresi Common Expression Language (CEL)
. -
Topology-aware alokasi yang memastikan perangkat ditempatkan bersama pada sakelar PCIe atau domain NUMA yang sama.
-
Berbagi perangkat antara beberapa kontainer atau Pod melalui
ResourceClaimreferensi bersama. -
Constraint-based penjadwalan yang menyelaraskan berbagai jenis perangkat
Driver DRA untuk Amazon EKS
Driver DRA berikut biasanya digunakan untuk mengelola perangkat keras khusus di cluster Amazon EKS.
- Pengemudi EFA DRA
-
Driver EFA DRA (DRANET
) mengelola alokasi perangkat Elastic Fabric Adapter (EFA) dengan penjadwalan sadar topologi yang memasangkan antarmuka EFA dengan GPU lokal topologis atau perangkat Neuron, dan mendukung berbagi perangkat antar Pod. Untuk informasi selengkapnya, lihat Kelola perangkat EFA di Amazon EKS. - Pengemudi Neuron DRA
-
Driver Neuron DRA mengelola alokasi perangkat AWS Trainium dan AWS Inferentia2 dengan penjadwalan sadar topologi, alokasi subset perangkat yang terhubung, dan konfigurasi Logical (LNC), tanpa memerlukan ekstensi penjadwal khusus. NeuronCore
- Pengemudi NVIDIA DRA
-
Driver NVIDIA DRA untuk GPU
memungkinkan alokasi fleksibel dan konfigurasi ulang dinamis GPU NVIDIA, termasuk dukungan untuk ComputeDomainsumber daya untuk beban kerja Multi-Node NVLink (MNNVL) pada instans EC2. Grace-Blackwell Untuk informasi selengkapnya tentang penggunaanComputeDomainsdengan Grace-Blackwell instans EC2, lihat. Gunakan P6e-GB200 UltraServers dengan Amazon EKS
Plugin perangkat untuk Amazon EKS
Plugin perangkat berikut biasanya digunakan untuk mengelola perangkat keras khusus di kluster Amazon EKS.
- Plugin perangkat EFA
-
Plugin perangkat EFA menemukan semua perangkat EFA yang tersedia di setiap node dan mengiklankan perangkat EFA sebagai sumber daya yang diperluas.
vpc.amazonaws.com/efa - Plugin perangkat neuron
-
Plugin perangkat Neuron
mengekspos perangkat keras Neuron sebagai aws.amazon.com/neuroncoredan sumber daya yangaws.amazon.com/neurondiperluas. Ini menemukan perangkat Neuron yang tersedia di setiap node, mengiklankannya sebagai sumber daya yang dapat dialokasikan, dan mengelola siklus hidupnya. - Plugin perangkat NVIDIA
-
Plugin perangkat NVIDIA
mengiklankan GPU NVIDIA sebagai sumber daya yang nvidia.com/gpudiperluas dan melacak kesehatan GPU.
Pertimbangan-pertimbangan
Sebelum menggunakan driver DRA di Amazon EKS, tinjau pertimbangan berikut:
-
DRA tersedia di Amazon EKS dengan Kubernetes versi 1.33 ke atas, tetapi direkomendasikan untuk Kubernetes versi 1.34 dan yang lebih baru karena masalah Kubernetes hulu.
Bidang kontrol cluster dan node Anda harus menjalankan versi Kubernetes yang mendukung DRA. -
DRA saat ini tidak kompatibel dengan komputasi yang disediakan Karpenter atau EKS Auto Mode. Anda harus menggunakan grup node terkelola EKS atau node yang dikelola sendiri dengan driver DRA.
-
Driver DRA dan plugin perangkat untuk jenis perangkat yang sama tidak boleh berjalan secara bersamaan pada node yang sama. Copot pemasangan plugin perangkat sebelum menginstal driver DRA yang sesuai, atau gunakan pada node terpisah. Lihat Kubernetes upstream KEP-5004
untuk mengetahui pembaruan tentang driver DRA dan kompatibilitas plugin perangkat. -
DRA menggunakan sumber daya Kubernetes API (
ResourceClaim,ResourceClaimTemplate,DeviceClass) yang berbeda dari plugin perangkat (,).resource.limitsresource.requestsMigrasi dari plugin perangkat ke DRA memerlukan pembaruan spesifikasi beban kerja Anda. -
Plugin perangkat tetap didukung penuh untuk semua versi Kubernetes. Jika klaster Anda menjalankan versi Kubernetes lebih awal dari 1.34, atau jika Anda menggunakan Karpenter atau EKS Auto Mode, lanjutkan menggunakan plugin perangkat. Driver NVIDIA DRA tidak didukung pada Bottlerocket; gunakan plugin perangkat NVIDIA pada node Bottlerocket. Driver EFA dan Neuron DRA didukung di Bottlerocket.
DRA ResourceClaim vs ResourceClaimTemplate
Saat menggunakan DRA, Anda meminta perangkat melalui ResourceClaim atau ResourceClaimTemplate objek. Kedua jenis sumber daya ini melayani tujuan yang berbeda dan memiliki perilaku siklus hidup yang berbeda.
- ResourceClaim
-
A
ResourceClaimadalah objek Kubernetes bernama yang kamu buat secara independen dari Pod manapun. Anda mereferensikannya dalam spesifikasi Pod dengan nama menggunakanresourceClaimNamefield. AResourceClaimmemiliki karakteristik sebagai berikut:-
Itu harus ada di cluster sebelum Pod apa pun yang mereferensikannya dibuat. Jika klaim tidak ada, Pod tetap dalam status tertunda.
-
Itu tetap ada sampai Anda menghapusnya secara eksplisit, terlepas dari apakah ada Pod yang mereferensikannya.
-
Beberapa Pod dapat mereferensikan hal yang sama
ResourceClaim, yang memungkinkan berbagi perangkat. Semua Pod yang mereferensikan klaim yang sama berbagi akses ke perangkat yang dialokasikan yang sama dan dijadwalkan ke node yang sama.Gunakan
ResourceClaimsaat Anda membutuhkan beberapa Pod untuk berbagi akses ke perangkat yang sama, atau saat Anda membutuhkan klaim yang ada di luar masa pakai satu Pod.
-
- ResourceClaimTemplate
-
A
ResourceClaimTemplatemendefinisikan template yang Kubernetes gunakan untuk secara otomatis menghasilkan unikResourceClaimuntuk setiap Pod. Anda mereferensikannya dalam spesifikasi Pod menggunakanresourceClaimTemplateNamefield. ItuResourceClaimTemplatesendiri tidak terikat pada Pod mana pun — ini adalah template yang dapat digunakan kembali yang bertahan secara independen. AResourceClaimTemplatememiliki karakteristik sebagai berikut:-
Kubernetes membuat sebuah Pod baru
ResourceClaimuntuk setiap Pod yang mereferensikan template tersebut. Setiap Pod mendapatkan set perangkatnya sendiri yang terpisah. -
Setiap yang
ResourceClaimdihasilkan terikat pada siklus hidup Pod yang memicu pembuatannya. Ketika Pod dihapus, yang terkait yangResourceClaimdihasilkan juga dihapus. ItuResourceClaimTemplatesendiri tidak terpengaruh dan terus menghasilkan klaim baru untuk Pod future.Gunakan a
ResourceClaimTemplateketika setiap Pod dalam beban kerja membutuhkan perangkat khusus sendiri dengan konfigurasi serupa. Misalnya, gunakanResourceClaimTemplatefor Pod dalam Job yang menggunakan eksekusi paralel di mana setiap Pod membutuhkan perangkat GPU atau EFA sendiri.
-
Tabel berikut merangkum perbedaan antara ResourceClaim danResourceClaimTemplate.
| Perilaku | ResourceClaim | ResourceClaimTemplate |
|---|---|---|
|
Pembuatan |
Anda membuatnya secara manual sebelum Pod mereferensikannya |
Kubernetes membuat klaim secara otomatis per Pod |
|
Siklus hidup |
Bertahan sampai Anda menghapusnya |
Template tetap ada sampai Anda menghapusnya. Setiap yang |
|
Berbagi perangkat di seluruh Pod |
Didukung. Beberapa Pod dapat mereferensikan klaim yang sama. |
Tidak didukung. Setiap Pod mendapat klaim terpisah. |
|
Bidang spesifikasi pod |
|
|
Untuk contoh penggunaan ResourceClaim objek untuk berbagi perangkat EFA antar Pod, lihatBagikan perangkat EFA di antara beberapa Pod. Untuk contoh menggunakan ResourceClaimTemplate objek dengan alokasi sadar topologi, lihat. Topology-aware EFA dan alokasi GPU/Neuron perangkat