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.
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).
Sebaiknya gunakan driver DRA untuk penerapan baru dengan Kubernetes versi 1.34 dan yang lebih baru saat menggunakan penyediaan kapasitas statis
Referensikan dokumentasi Kubernetes untuk Alokasi Sumber Daya Dinamis
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 yang diperluas (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 wadah atau Pod.
-
Tidak ada alokasi ekspresif yang sadar topologi 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 menerbitkan atribut perangkat kaya ke penjadwal Kubernetes melalui objek. ResourceSlice Anda meminta perangkat menggunakan ResourceClaim dan ResourceClaimTemplate objek yang mereferensi DeviceClass kan kategori.
DRA memungkinkan:
-
Attribute-based pemilihan perangkat menggunakan ekspresi Common Expression Language (CEL)
. -
Topology-aware alokasi yang memastikan perangkat ditempatkan bersama pada switch PCIe atau domain NUMA yang sama.
-
Berbagi perangkat antara beberapa wadah atau Pod melalui
ResourceClaimreferensi bersama. -
Partisi dinamis dan berbagi GPU NVIDIA saat menggunakan MIG atau pemotongan waktu
Driver DRA untuk Amazon EKS
Driver DRA berikut biasanya digunakan untuk mengelola perangkat keras khusus di cluster Amazon EKS.
- Driver NVIDIA DRA
-
Driver NVIDIA DRA untuk GPU aktif GitHub memungkinkan
alokasi fleksibel dan konfigurasi dinamis GPU NVIDIA. Lihat Gunakan driver NVIDIA DRA atau plugin perangkat di Amazon EKS untuk informasi tentang mengelola GPU dengan driver NVIDIA DRA dan Gunakan P6e-GB200 UltraServers dengan Amazon EKS untuk informasi tentang penggunaan ComputeDomainsuntuk beban kerja Multi-Node NVLink (MNNVL) dengan instans EC2. Grace-Blackwell - Pengemudi EFA DRA
-
Driver EFA DRA (DRANET
aktif GitHub) mengelola alokasi perangkat Elastic Fabric Adapter (EFA) dengan penjadwalan sadar topologi yang memasangkan antarmuka EFA dengan GPU lokal topologi atau perangkat Neuron, dan mendukung berbagi perangkat antar Pod. Untuk informasi selengkapnya, lihat Kelola perangkat EFA di Amazon EKS. - Driver Neuron DRA
-
Driver Neuron DRA mengelola alokasi perangkat AWS Trainium dan AWS Inferentia2 dengan penjadwalan sadar topologi, alokasi subset perangkat yang terhubung, dan konfigurasi Logis NeuronCore (LNC), tanpa memerlukan ekstensi penjadwal khusus. Untuk informasi selengkapnya, lihat Kelola perangkat Neuron di Amazon EKS.
Plugin perangkat untuk Amazon EKS
Plugin perangkat berikut biasanya digunakan untuk mengelola perangkat keras khusus di cluster Amazon EKS.
- Plugin perangkat NVIDIA
-
Plugin perangkat NVIDIA
pada meng GitHub iklankan GPU NVIDIA sebagai sumber daya nvidia.com/gpuyang diperluas dan melacak kesehatan GPU. - 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 mengek
spos perangkat keras Neuron sebagai sumber daya aws.amazon.com/neuroncoreyangaws.amazon.com/neurondiperluas. Ini menemukan perangkat Neuron yang tersedia di setiap node, mengiklankannya sebagai sumber daya yang dapat dialokasikan, dan mengelola siklus hidupnya.
Pertimbangan-pertimbangan
Sebelum menggunakan driver DRA di Amazon EKS, tinjau pertimbangan berikut:
-
DRA tersedia di Amazon EKS dengan Kubernetes versi 1.33 dan yang lebih tinggi, tetapi direkomendasikan untuk Kubernetes versi 1.34 dan yang lebih baru karena masalah Kubernetes hulu. https://github.com/kubernetes/kubernetes/issues/133920
GitHub Bidang kontrol cluster dan node Anda harus menjalankan versi Kubernetes yang mendukung DRA. -
DRA saat ini tidak kompatibel dengan Mode Otomatis EKS.
-
DRA saat ini tidak kompatibel dengan Karpenter saat menggunakan kapasitas yang disediakan secara dinamis. Anda harus menggunakan penyediaan kapasitas statis di Karpenter, atau 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 menyebarkannya pada node terpisah. Menjalankan driver DRA dan plugin perangkat untuk perangkat yang sama pada node yang sama dapat menyebabkan kelebihan langganan senyap dari perangkat keras yang mendasarinya.
-
DRA menggunakan sumber daya API Kubernetes yang berbeda (
ResourceClaim,ResourceClaimTemplate,DeviceClass) daripada plugin perangkat (resource.limits,).resource.requestsAnda dapat menggunakan DRA untuk mengelola sumber daya yang diperluas plugin perangkat tanpa mengubah spesifikasi beban kerja Anda. Untuk informasi selengkapnya tentang sumber daya yang diperluas di DRA, lihat dokumentasi Kubernetesdi situs web Kubernetes. -
Driver DRA untuk NVIDIA, EFA, dan Neuron kompatibel dengan AMI EKS-optimized AL2023 dan AMI Bottlerocket. Jika Anda menggunakan driver NVIDIA DRA dengan Bottlerocket, nonaktifkan plugin perangkat NVIDIA yang disertakan dalam varian Bottlerocket NVIDIA.
-
Plugin perangkat tetap didukung penuh untuk semua versi Kubernetes.
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 bernama Kubernetes yang Anda buat secara independen dari Pod mana pun. Anda mereferensikannya dalam spesifikasi Pod berdasarkan nama menggunakanresourceClaimNamebidang. AResourceClaimmemiliki karakteristik sebagai berikut:-
Itu harus ada di cluster sebelum Pod apa pun yang mereferensikannya dibuat. Jika klaim tidak ada, Pod tetap dalam keadaan 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
ResourceClaimketika Anda memerlukan beberapa Pod untuk berbagi akses ke perangkat yang sama, atau ketika Anda memerlukan klaim untuk ada di luar masa pakai satu Pod.
-
- ResourceClaimTemplate
-
A
ResourceClaimTemplatemendefinisikan template yang digunakan Kubernetes untuk secara otomatis menghasilkan unikResourceClaimuntuk setiap Pod. Anda mereferensikannya dalam spesifikasi Pod menggunakanresourceClaimTemplateNamebidang. ItuResourceClaimTemplatesendiri tidak terikat pada Pod mana pun - ini adalah template yang dapat digunakan kembali yang bertahan secara independen. AResourceClaimTemplatememiliki karakteristik sebagai berikut:-
Kubernetes membuat yang baru
ResourceClaimuntuk setiap Pod yang mereferensikan template. Setiap Pod mendapatkan perangkat tersendiri. -
Setiap yang
ResourceClaimdihasilkan terikat pada siklus hidup Pod yang memicu pembuatannya. Saat Pod dihapus, yang terkait yangResourceClaimdihasilkan juga dihapus. ItuResourceClaimTemplatesendiri tidak terpengaruh dan terus menghasilkan klaim baru untuk Pod masa depan.Gunakan a
ResourceClaimTemplateketika setiap Pod dalam beban kerja membutuhkan perangkat khusus sendiri dengan konfigurasi serupa. Misalnya, gunakanResourceClaimTemplateuntuk Pod dalam Pekerjaan yang menggunakan eksekusi paralel di mana setiap Pod memerlukan perangkat GPU atau EFA sendiri.
-
Tabel berikut merangkum perbedaan antara ResourceClaim danResourceClaimTemplate.
| Perilaku | ResourceClaim | ResourceClaimTemplate |
|---|---|---|
|
Pembuatan |
Anda membuatnya secara manual sebelum Pod mereferensikannya |
Kubernetes menghasilkan 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 merujuk klaim yang sama. |
Tidak didukung. Setiap Pod mendapat klaim terpisah. |
|
Bidang spesifikasi pod |
|
|
Untuk contoh menggunakan ResourceClaim objek untuk berbagi perangkat EFA antar Pod, lihatBagikan perangkat EFA antara beberapa Pod. Untuk contoh penggunaan ResourceClaimTemplate objek dengan alokasi sadar topologi, lihat. Topology-aware EFA dan alokasi GPU/Neuron perangkat