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 EFA di Amazon EKS
Elastic Fabric Adapter (EFA) adalah perangkat jaringan untuk instans Amazon EC2 yang memungkinkan komunikasi antar simpul berkinerja tinggi dan RDMA (Remote Direct Memory Access) untuk kecerdasan buatan, pembelajaran mesin, dan beban kerja Komputasi Kinerja Tinggi (HPC). Amazon EKS mendukung dua mekanisme untuk mengelola perangkat EFA di kluster EKS: driver EFA Dynamic Resource Allocation (DRA) (DRANET) dan plugin perangkat EFA.
Disarankan untuk menggunakan driver DRA EFA (DRANET) untuk penerapan baru pada kluster EKS yang menjalankan Kubernetes versi 1.34 atau yang lebih baru dengan grup node terkelola EKS atau grup node yang dikelola sendiri. Driver EFA DRA memungkinkan Anda untuk mengonfigurasi alokasi sadar topologi yang memasangkan antarmuka EFA dengan GPU lokal topologis atau perangkat Neuron mereka, dan mendukung berbagi perangkat antar Pod.
Driver EFA DRA tidak didukung dengan Karpenter atau Mode Otomatis EKS. Gunakan plugin perangkat EFA dengan Karpenter dan Mode Otomatis EKS. Plugin perangkat EFA juga tetap didukung untuk grup node terkelola EKS dan node yang dikelola sendiri.
Driver EFA DRA vs. plugin perangkat EFA
| Fitur | Pengemudi EFA DRA | Plugin perangkat EFA |
|---|---|---|
|
Versi Kubernetes minimum |
1,34 |
Semua versi EKS-supported Kubernetes |
|
EKS Komputasi |
Grup node terkelola, node yang dikelola sendiri |
Mode Otomatis EKS, Karpenter, grup simpul terkelola, node yang dikelola sendiri |
|
EKS-optimized AMI |
AL2023 (NVIDIA, Neuron), Bottlerocket |
AL2023 (NVIDIA, Neuron), Bottlerocket |
|
Iklan perangkat |
Atribut kaya melalui |
Jumlah bilangan bulat dari sumber daya yang |
|
GPU-EFA afinitas |
DRA-native kesadaran topologi |
Kesadaran topologi otomatis (hanya AMI EKS-optimized AL2023) |
|
Neuron-EFA afinitas |
DRA-native kesadaran topologi |
Kesadaran topologi otomatis (hanya AMI EKS-optimized AL2023) |
|
Berbagi perangkat |
Beberapa Pod dapat berbagi perangkat EFA yang sama melalui referensi bersama |
Tidak didukung. Setiap perangkat EFA secara eksklusif dialokasikan ke satu Pod. |
Membuat node EKS dengan antarmuka EFA
Saat Anda membuat node EKS dengan antarmuka EFA, antarmuka EFA dilampirkan ke instance selama penyediaan instance. Anda dapat menyesuaikan konfigurasi EFA per perangkat dan menggunakan grup penempatan dengan Karpenter, grup node terkelola EKS, atau grup simpul yang dikelola sendiri EKS. Dengan Karpenter, Anda melewati konfigurasi untuk setiap antarmuka jaringan melalui file. NodeClass Dengan grup node terkelola EKS atau node yang dikelola sendiri, Anda meneruskan konfigurasi untuk setiap antarmuka jaringan dengan templat peluncuran. Dukungan Mode Otomatis EKS untuk konfigurasi EFA per perangkat dan grup penempatan akan segera hadir.
Saat menggunakan eksctluntuk menyediakan node EKS dengan efaEnabled pengaturan, semua antarmuka dikonfigurasi dengan tipe antarmukaEFA, grup EFA-specific keamanan dibuat, dan plugin perangkat EFA diinstal pada cluster. Jika Anda perlu menyesuaikan konfigurasi EFA per perangkat saat menggunakaneksctl, disarankan untuk menggunakan dukungan `eksctl untuk templat peluncuran.
Contoh berikut menunjukkan cara mengkonfigurasi NodeClass dan meluncurkan template dengan antarmuka EFA. Ini berguna untuk menyesuaikan antarmuka yang digunakan untuk EFA vs lalu lintas standar IP-based . Untuk informasi tentang jumlah antarmuka EFA yang didukung oleh setiap jenis instans dan cara mengonfigurasinya untuk bandwidth jaringan maksimum, lihat Memaksimalkan bandwidth jaringan untuk jenis EFA-enabled instans di Panduan Pengguna Amazon EC2.
Karpenter
Setiap entri dalam networkInterfaces menentukannetworkCardIndex,deviceIndex, daninterfaceType. interfaceTypeDapat interface untuk antarmuka jaringan standar atau untuk antarmuka EFA yang didedikasikan efa-only untuk lalu lintas RDMA dan tidak memiliki alamat IP yang ditetapkan. Ketika networkInterfaces dikonfigurasi, instance yang diluncurkan dengan NodePool referensi NodeClass menggunakan konfigurasi ini terlepas dari apakah Pod meminta vpc.amazonaws.com/efa sumber daya.
Saat menggunakan Karpenter tanpa menentukan networkInterfaces di dalam AndaNodeClass, instance yang dibuat untuk permintaan Pod vpc.amazonaws.com/efa memiliki semua antarmuka yang dikonfigurasi dengan tipe antarmuka. EFA
networkInterfacesKonfigurasi untuk EC2NodeClass ditambahkan di Karpenter v1.11. Contoh berikut menunjukkan EC2NodeClass dikonfigurasi untuk P6-B200 contoh dengan 1 antarmuka ENA dan 8 EFA-only antarmuka.
apiVersion: karpenter.k8s.aws/v1 kind: EC2NodeClass metadata: name: efa-node-class spec: networkInterfaces: - networkCardIndex: 0 deviceIndex: 0 interfaceType: interface - networkCardIndex: 0 deviceIndex: 1 interfaceType: efa-only - networkCardIndex: 1 deviceIndex: 0 interfaceType: efa-only - networkCardIndex: 2 deviceIndex: 0 interfaceType: efa-only - networkCardIndex: 3 deviceIndex: 0 interfaceType: efa-only - networkCardIndex: 4 deviceIndex: 0 interfaceType: efa-only - networkCardIndex: 5 deviceIndex: 0 interfaceType: efa-only - networkCardIndex: 6 deviceIndex: 0 interfaceType: efa-only - networkCardIndex: 7 deviceIndex: 0 interfaceType: efa-only
EKS mengelola grup node dan node yang dikelola sendiri
Dengan grup node terkelola EKS atau node yang dikelola sendiri, Anda meneruskan konfigurasi untuk setiap antarmuka jaringan dengan templat peluncuran.
Contoh berikut menunjukkan template peluncuran yang dikonfigurasi untuk sebuah P6-B200 instance dengan 1 antarmuka ENA dan 8 EFA-only antarmuka. Antarmuka jaringan utama (kartu jaringan 0, indeks perangkat 0) menggunakan interface tipe standar untuk lalu lintas IP, sementara antarmuka tambahan digunakan efa-only untuk lalu lintas RDMA khusus. Sesuaikan jumlah efa-only antarmuka berdasarkan jenis instans Anda. Untuk jumlah antarmuka EFA yang didukung oleh setiap jenis instans, lihat Memaksimalkan bandwidth jaringan untuk jenis EFA-enabled instans di Panduan Pengguna Amazon EC2.
Ganti
security-group-id
dengan nilai-nilai Anda. Grup keamanan harus mengizinkan semua lalu lintas masuk dan keluar ke dan dari dirinya sendiri untuk mengaktifkan fungsionalitas EFA OS-bypass . Untuk informasi selengkapnya, lihat Langkah 1: Menyiapkan grup EFA-enabled keamanan di Panduan Pengguna Amazon EC2.
penting
Jangan tentukan SubnetId dalam template peluncuran saat menggunakan grup node terkelola EKS. EKS mengharuskan semua subnet ditentukan melalui CreateNodegroup API dan menolak template peluncuran yang menyertakan konfigurasi subnet.
{ "LaunchTemplateName": "efa-launch-template", "LaunchTemplateData": { "InstanceType": "p6-b200.48xlarge", "NetworkInterfaces": [ { "NetworkCardIndex": 0, "DeviceIndex": 0, "InterfaceType": "interface", "Groups": ["security-group-id"] }, { "NetworkCardIndex": 0, "DeviceIndex": 1, "InterfaceType": "efa-only", "Groups": ["security-group-id"] }, { "NetworkCardIndex": 1, "DeviceIndex": 0, "InterfaceType": "efa-only", "Groups": ["security-group-id"] }, { "NetworkCardIndex": 2, "DeviceIndex": 0, "InterfaceType": "efa-only", "Groups": ["security-group-id"] }, { "NetworkCardIndex": 3, "DeviceIndex": 0, "InterfaceType": "efa-only", "Groups": ["security-group-id"] }, { "NetworkCardIndex": 4, "DeviceIndex": 0, "InterfaceType": "efa-only", "Groups": ["security-group-id"] }, { "NetworkCardIndex": 5, "DeviceIndex": 0, "InterfaceType": "efa-only", "Groups": ["security-group-id"] }, { "NetworkCardIndex": 6, "DeviceIndex": 0, "InterfaceType": "efa-only", "Groups": ["security-group-id"] }, { "NetworkCardIndex": 7, "DeviceIndex": 0, "InterfaceType": "efa-only", "Groups": ["security-group-id"] } ] } }
Menggunakan EKS-optimized AMI dengan EFA
EKS-optimized AMI akselerasi AL2023 (NVIDIA dan Neuron) dan semua AMI Bottlerocket menyertakan komponen tingkat host yang diperlukan untuk menggunakan EFA, khususnya komponen yang dipasang oleh aws-efa-installer. EKS AL2023 dan AMI Bottlerocket tidak menyertakan driver EFA DRA atau plugin perangkat EFA, dan ini harus diinstal secara terpisah di cluster Anda sebelum menerapkan beban kerja.
Menghemat alokasi alamat IP
EFA-enabled contoh seperti p5.48xlarge dan p6-b200.48xlarge mendukung banyak antarmuka jaringan. Secara default, Amazon VPC CNI mengalokasikan alamat IP di semua ENI IP-enabled terlampir, yang dapat menggunakan sejumlah besar alamat IP dari subnet Anda bahkan ketika alamat tersebut tidak digunakan secara aktif oleh Pod. Pada instance dengan lusinan antarmuka jaringan, ini dapat dengan cepat menghabiskan ruang IP subnet Anda yang tersedia.
Untuk mengurangi konsumsi alamat IP pada EFA-enabled node, konfigurasikan antarmuka jaringan Anda untuk digunakan efa-only untuk semua antarmuka kecuali yang utama. EFA-only antarmuka didedikasikan untuk lalu lintas RDMA dan tidak memiliki alamat IP yang ditetapkan, sehingga mereka tidak menggunakan alamat dari subnet Anda. Misalnya konfigurasi, lihat Karpenter danEKS mengelola grup node dan node yang dikelola sendiri. Untuk tata letak antarmuka yang disarankan untuk setiap jenis instans, lihat Memaksimalkan bandwidth jaringan untuk jenis EFA-enabled instans di Panduan Pengguna Amazon EC2.
Selain menggunakan efa-only antarmuka, Anda dapat mengonfigurasi Amazon VPC CNI untuk membatasi jumlah alamat IP hangat (pra-dialokasikan) dan ENI. Secara default, VPC CNI mengalokasikan kumpulan ENI dan alamat IP yang hangat untuk startup Pod yang lebih cepat, tetapi pada instance besar ini dapat memesan ratusan alamat IP yang tidak digunakan. Atur variabel WARM_IP_TARGET dan WARM_ENI_TARGET lingkungan pada aws-node DaemonSet untuk mengontrol berapa banyak alamat IP cadangan dan ENI yang dipertahankan CNI. Untuk informasi selengkapnya tentang setelan ini, lihat praktik terbaik Amazon VPC CNI.
catatan
WARM_IP_TARGETPengaturan WARM_ENI_TARGET dan pengaturan di seluruh cluster dan berlaku untuk semua node yang dikelola oleh VPC CNI. Saat ini tidak ada cara untuk mengatur nilai yang berbeda per grup node atau jenis instance. Jika Anda memerlukan kontrol yang lebih terperinci dari pengaturan ini, berikan umpan balik tentang masalah peta jalan kontainer #1834
Instal driver EFA DRA (DRANET)
Driver EFA DRA dibangun di proyek DRANET
Driver EFA DRA mengiklankan perangkat EFA sebagai ResourceSlice objek dengan nama driver dra.net dan nama. DeviceClass efa.networking.k8s.aws Driver EFA DRA berjalan sebagai a DaemonSet pada setiap node dan secara otomatis menemukan perangkat EFA.
Prasyarat
-
Cluster Amazon EKS yang menjalankan Kubernetes versi 1.34 atau yang lebih baru dengan grup node terkelola EKS atau grup node yang dikelola sendiri.
-
Node dengan EFA-enabled jenis instans Amazon EC2. Untuk daftar jenis instans yang didukung, lihat Jenis instans yang didukung di Panduan Pengguna Amazon EC2.
-
Node dengan komponen tingkat host yang diinstal untuk EFA, lihat Menginstal perangkat lunak EFA untuk informasi selengkapnya. EKS-optimized AL2023 NVIDIA dan Neuron AMI, dan AMI Bottlerocket menyertakan komponen tingkat host EFA.
-
Helm diinstal di lingkungan baris perintah Anda, lihat petunjuk Setup Helm untuk informasi selengkapnya.
-
kubectldikonfigurasi untuk berkomunikasi dengan cluster Anda, lihat Instal atau perbarui kubectl untuk informasi selengkapnya.
Prosedur
penting
Jangan menginstal driver EFA DRA pada node tempat plugin perangkat EFA berjalan. Kedua mekanisme tidak dapat hidup berdampingan pada node yang sama. Lihat Kubernetes KEP-5004
-
Tambahkan repositori bagan EKS Helm.
helm repo add eks https://aws.github.io/eks-charts -
Perbarui repositori Helm lokal Anda.
helm repo update -
Instal driver EFA DRA di cluster Anda menggunakan Helm. Driver EFA DRA secara otomatis mendeteksi bahwa ia berjalan pada instans EC2 melalui Layanan Metadata Instans (IMDS) dan memungkinkan penemuan perangkat EFA. Driver EFA DRA digunakan sebagai DaemonSet di
kube-systemnamespace secara default. Lihat Helm values.yaml di GitHub repositori bagan EKS Helmuntuk parameter yang dapat dikonfigurasi. helm install aws-dranet eks/aws-dranet --namespace kube-system -
Verifikasi bahwa DRANET DaemonSet sedang berjalan.
kubectl get daemonset -n kube-system aws-dranetNAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE aws-dranet 2 2 2 2 2 <none> 60s -
Verifikasi bahwa
DeviceClasstelah dibuat.kubectl get deviceclassNAME AGE efa.networking.k8s.aws 60s -
Verifikasi bahwa
ResourceSliceobjek diiklankan untuk node Anda.kubectl get resourceslices --field-selector spec.driver=dra.netJika Anda mengalami kesalahan dengan langkah-langkah di atas, Anda dapat memeriksa log untuk DRANET dengan perintah berikut.
kubectl logs -n kube-system -l app=aws-dranet -
Untuk meminta perangkat EFA menggunakan driver DRA, buat
ResourceClaimatauResourceClaimTemplateyang mereferensikan EFADeviceClassdan mereferensikannya dalam spesifikasi Pod Anda. Contoh berikut meminta satu perangkat EFA.apiVersion: resource.k8s.io/v1 kind: ResourceClaimTemplate metadata: name: single-efa-claim spec: spec: devices: requests: - name: efa exactly: deviceClassName: efa.networking.k8s.aws count: 1 --- apiVersion: v1 kind: Pod metadata: name: efa-workload spec: containers: - name: app ... resources: claims: - name: efa-device resourceClaims: - name: efa-device resourceClaimTemplateName: single-efa-claim
Topology-aware EFA dan alokasi GPU/Neuron perangkat
Driver EFA DRA mendukung alokasi sadar topologi yang memasangkan antarmuka EFA dengan GPU atau perangkat Neuron pada root PCIe yang sama. Gunakan matchAttribute kendala untuk menyelaraskan alokasi perangkat EFA dan GPU atau Neuron. Untuk menggunakan kemampuan ini, Anda juga harus menggunakan driver NVIDIA atau Neuron DRA. Untuk informasi selengkapnya, lihat Kelola perangkat GPU NVIDIA di Amazon EKS dan Kelola perangkat Neuron di Amazon EKS.
Contoh berikut meminta 1 antarmuka EFA selaras dengan 1 NVIDIA GPU:
apiVersion: resource.k8s.io/v1 kind: ResourceClaimTemplate metadata: name: aligned-efa-nvidia spec: spec: devices: requests: - name: 1-efa exactly: deviceClassName: efa.networking.k8s.aws count: 1 - name: 1-gpu exactly: deviceClassName: gpu.nvidia.com count: 1 constraints: - requests: ["1-gpu", "1-efa"] matchAttribute: "resource.kubernetes.io/pcieRoot"
Contoh berikut meminta 4 antarmuka EFA yang disejajarkan dengan 4 perangkat Neuron:
apiVersion: resource.k8s.io/v1 kind: ResourceClaimTemplate metadata: name: aligned-efa-neuron spec: spec: devices: requests: - name: 4-neurons exactly: deviceClassName: neuron.aws.com count: 4 - name: 4-efas exactly: deviceClassName: efa.networking.k8s.aws count: 4 constraints: - requests: ["4-neurons", "4-efas"] matchAttribute: "resource.aws.com/devicegroup4_id"
Angka dalam nama devicegroup atribut sesuai dengan jumlah perangkat Neuron dalam grup topologi yang terhubung. Misalnya, resource.aws.com/devicegroup1_id mengidentifikasi perangkat Neuron tunggal, resource.aws.com/devicegroup4_id mengidentifikasi sekelompok 4 perangkat yang terhubung, dan dan resource.aws.com/devicegroup16_id mengidentifikasi kelompok 8 resource.aws.com/devicegroup8_id dan 16 perangkat yang terhubung masing-masing. Pilih matchAttribute yang cocok dengan perangkat count dalam permintaan Anda sehingga perangkat Neuron dan antarmuka EFA yang dialokasikan milik grup topologi terhubung yang sama. Untuk informasi lebih lanjut tentang atribut ini, lihat dokumentasi driver Neuron DRA
Anda dapat menggunakan allocationMode untuk menyederhanakan bagaimana perangkat EFA dialokasikan ke GPU atau akselerator Neuron yang selaras. allocationModeBidang ini mendukung dua nilai: ExactCount (default) meminta sejumlah perangkat tertentu yang ditentukan olehcount, dan All meminta semua perangkat yang cocok dalam kumpulan. Misalnya, pada p5.48xlarge instance ada empat perangkat EFA yang berbagi root PCIe yang sama dengan satu GPU. Untuk mengalokasikan grup perangkat EFA ini dengan GPU yang selaras, bahkan jika Anda tidak mengetahui pemetaan EFA-GPU perangkat yang tepat dan jumlah perangkat EFA yang selaras, Anda dapat mengonfigurasi perangkat EFA Anda untuk perangkat EFA. ResourceClaimTemplate allocationMode: All
apiVersion: resource.k8s.io/v1 kind: ResourceClaimTemplate metadata: name: aligned-all-efa-one-nvidia spec: spec: devices: requests: - name: all-efas exactly: deviceClassName: efa.networking.k8s.aws allocationMode: All - name: one-gpu exactly: deviceClassName: gpu.nvidia.com allocationMode: ExactCount count: 1 constraints: - requests: ["all-efas", "one-gpu"] matchAttribute: "resource.kubernetes.io/pcieRoot"
Bagikan perangkat EFA di antara beberapa Pod
Driver EFA DRA mendukung berbagi perangkat EFA antara beberapa Pod dengan menggunakan file. ResourceClaim Tidak seperti aResourceClaimTemplate, yang menghasilkan klaim terpisah untuk setiap Pod, a ResourceClaim adalah objek bernama yang Anda buat secara independen dan referensi dari beberapa Pod. Semua Pod yang ResourceClaim mereferensikan akses berbagi yang sama ke perangkat EFA yang dialokasikan sama dan dijadwalkan ke node yang sama di mana perangkat tersebut tersedia.
Untuk berbagi perangkat EFA antar Pod, buat perangkat ResourceClaim yang meminta perangkat EFA, lalu referensi yang mengklaim berdasarkan nama di setiap resourceClaims bidang Pod menggunakan. resourceClaimName ResourceClaimHarus ada di klaster sebelum Pod yang mereferensikannya dibuat. Jika referensi ResourceClaim tidak ada, Pod tetap dalam status tertunda sampai klaim dibuat.
Contoh berikut membuat sebuah ResourceClaim yang meminta 4 perangkat EFA, dan dua Pod yang berbagi akses ke perangkat tersebut.
-
Buat
ResourceClaim.apiVersion: resource.k8s.io/v1 kind: ResourceClaim metadata: name: shared-efa spec: devices: requests: - name: efa exactly: deviceClassName: efa.networking.k8s.aws count: 4 -
Referensikan nama
ResourceClaimmenurut di setiap Pod yang membutuhkan akses ke perangkat EFA. Setiap Pod menggunakanresourceClaimNameuntuk mereferensikan klaim yang ada, bukanresourceClaimTemplateName.apiVersion: v1 kind: Pod metadata: name: training-worker spec: containers: - name: worker image: my-training-image resources: claims: - name: efa-devices resourceClaims: - name: efa-devices resourceClaimName: shared-efa --- apiVersion: v1 kind: Pod metadata: name: training-monitor spec: containers: - name: monitor image: my-monitor-image resources: claims: - name: efa-devices resourceClaims: - name: efa-devices resourceClaimName: shared-efa
Kedua Pod mereferensikan hal yang sama shared-efa ResourceClaim dan dijadwalkan ke node tempat perangkat EFA tersebut dialokasikan. ResourceClaimSiklus hidup tidak tergantung pada Pod — siklus hidup tetap ada sampai Anda menghapusnya, bahkan jika semua Pod yang mereferensikannya dihapus.
Instal plugin perangkat EFA Kubernetes
Plugin perangkat EFA Kubernetes mengiklankan perangkat EFA sebagai sumber daya yang diperluas. vpc.amazonaws.com/efa Anda meminta perangkat EFA dalam permintaan dan batasan sumber daya kontainer. Untuk panduan lengkap tentang pengaturan EFA dengan beban kerja pelatihan, lihat. Jalankan pelatihan pembelajaran mesin di Amazon EKS dengan Adaptor Kain Elastis
penting
Topology-aligned alokasi GPU NVIDIA atau perangkat Neuron dengan antarmuka EFA terjadi secara otomatis saat menggunakan AMI yang dipercepat EKS-optimized AL2023. Penyelarasan otomatis ini tidak terjadi saat menggunakan AMI Bottlerocket EKS-optimized atau AMI khusus. Jika Anda memerlukan akselerator yang selaras dengan topologi dan alokasi perangkat EFA dengan Bottlerocket atau AMI khusus, gunakan driver EFA DRA dan driver Neuron DRA yang sesuai. Driver NVIDIA DRA tidak didukung di Bottlerocket. Untuk informasi selengkapnya, lihat Topology-aware EFA dan alokasi GPU/Neuron perangkat.
penting
Dimulai dengan NVIDIA k8s-device-plugin v0.19.0, --mofed-enabled flag default ketrue, yang menyebabkan plugin perangkat NVIDIA memasang semua /dev/infiniband/uverbs* perangkat ke dalam wadah yang meminta GPU. Ini bertentangan dengan plugin perangkat EFA, yang seharusnya menjadi komponen yang mengelola alokasi perangkat EFA di. /dev/infiniband Jika Anda menggunakan grup node terkelola EKS atau node yang dikelola sendiri dengan plugin perangkat NVIDIA, Anda harus menonaktifkan MOFED secara eksplisit. Untuk petunjuk, lihat Instal plugin perangkat NVIDIA Kubernetes.
Mode Otomatis EKS tidak mengaktifkan MOFED secara default dan tidak terpengaruh oleh masalah ini.
Prasyarat
-
Cluster Amazon EKS.
-
Node dengan EFA-enabled jenis instans Amazon EC2. Untuk daftar jenis instans yang didukung, lihat Jenis instans yang didukung di Panduan Pengguna Amazon EC2.
-
Node dengan komponen tingkat host yang diinstal untuk EFA, lihat Menginstal perangkat lunak EFA untuk informasi selengkapnya. EKS-optimized AL2023 NVIDIA dan Neuron AMI, dan AMI Bottlerocket menyertakan komponen tingkat host EFA.
-
Helm diinstal di lingkungan baris perintah Anda, lihat petunjuk Setup Helm untuk informasi selengkapnya.
-
kubectldikonfigurasi untuk berkomunikasi dengan cluster Anda, lihat Instal atau perbarui kubectl untuk informasi selengkapnya.
Prosedur
-
Tambahkan repositori bagan EKS Helm.
helm repo add eks https://aws.github.io/eks-charts -
Perbarui repositori Helm lokal Anda.
helm repo update -
Instal plugin perangkat EFA.
helm install efa eks/aws-efa-k8s-device-plugin -n kube-system -
Verifikasi plugin perangkat EFA DaemonSet sedang berjalan.
kubectl get daemonset -n kube-system efa-aws-efa-k8s-device-pluginNAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE efa-aws-efa-k8s-device-plugin 2 2 2 2 2 <none> 60s -
Verifikasi bahwa node Anda memiliki sumber daya EFA yang dapat dialokasikan.
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,EFA:.status.allocatable.vpc\.amazonaws\.com/efa"NAME EFA ip-192-168-11-225.us-west-2.compute.internal 4 ip-192-168-24-96.us-west-2.compute.internal 4 -
Untuk meminta perangkat EFA menggunakan plugin perangkat, tentukan
vpc.amazonaws.com/efasumber daya dalam permintaan dan batasan sumber daya penampung Anda.apiVersion: v1 kind: Pod metadata: name: efa-workload spec: containers: - name: app ... resources: limits: vpc.amazonaws.com/efa: 4 hugepages-2Mi: ... requests: vpc.amazonaws.com/efa: 4 hugepages-2Mi: ...