Kontrol penyebaran beban kerja ke Reservasi Kapasitas dengan Mode Otomatis EKS - 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.

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.

Kontrol penyebaran beban kerja ke Reservasi Kapasitas dengan Mode Otomatis EKS

Anda dapat mengontrol penyebaran beban kerja ke Reservasi Kapasitas. Mode Otomatis EKS mendukung Reservasi Kapasitas EC2 Sesuai Permintaan (ODCRs), dan Blok EC2 Kapasitas untuk ML.

Tip

Secara default, Mode Otomatis EKS secara otomatis diluncurkan ke Blok Kapasitas terbuka ODCRs dan mL. Saat menggunakan capacityReservationSelectorTerms dalam NodeClass definisi, Mode Otomatis EKS tidak akan lagi secara otomatis menggunakan Reservasi Kapasitas terbuka.

EC2 Reservasi Kapasitas Sesuai Permintaan () ODCRs

EC2 Reservasi Kapasitas Sesuai Permintaan (ODCRs) memungkinkan Anda untuk memesan kapasitas komputasi untuk EC2 instans Amazon Anda di Availability Zone tertentu untuk durasi berapa pun. Saat menggunakan Mode Otomatis EKS, Anda mungkin ingin mengontrol apakah beban kerja Kubernetes Anda diterapkan ke instans cadangan ini untuk memaksimalkan pemanfaatan kapasitas yang telah dibeli sebelumnya atau untuk memastikan beban kerja kritis memiliki akses ke sumber daya yang terjamin.

Secara default, Mode Otomatis EKS secara otomatis diluncurkan ke terbuka ODCRs. Namun, dengan mengonfigurasi capacityReservationSelectorTerms pada a NodeClass, Anda dapat secara eksplisit mengontrol beban kerja yang ODCRs Anda gunakan. Node yang disediakan menggunakan konfigurasi ODCRs akan memiliki karpenter.sh/capacity-type: reserved dan akan diprioritaskan daripada on-demand dan spot. Setelah fitur ini diaktifkan, Mode Otomatis EKS tidak akan lagi secara otomatis menggunakan open ODCRs —mereka harus dipilih secara eksplisit oleh a NodeClass, memberi Anda kontrol yang tepat atas penggunaan reservasi kapasitas di seluruh cluster Anda.

Awas

Jika Anda mengonfigurasi capacityReservationSelectorTerms di NodeClass dalam cluster, Mode Otomatis EKS tidak akan lagi secara otomatis menggunakan open ODCRs untuk apa pun NodeClass di cluster.

Contoh NodeClass

apiVersion: eks.amazonaws.com/v1 kind: NodeClass spec: # Optional: Selects upon on-demand capacity reservations and capacity blocks # for EKS Auto Mode to prioritize. capacityReservationSelectorTerms: - id: cr-56fac701cc1951b03 # Alternative Approaches - tags: app: "my-app" # Optional owning account ID filter owner: "012345678901"

Contoh ini NodeClass menunjukkan dua pendekatan untuk memilih ODCRs. Metode pertama secara langsung mereferensikan ODCR tertentu dengan ID ()cr-56fac701cc1951b03. Metode kedua menggunakan pemilihan berbasis tag, menargetkan ODCRs dengan tag. Name: "targeted-odcr" Anda juga dapat memfilter secara opsional berdasarkan AWS akun yang memiliki reservasi, yang sangat berguna dalam skenario lintas akun atau saat bekerja dengan reservasi kapasitas bersama.

EC2 Blok Kapasitas untuk ML

Blok Kapasitas untuk MS mencadangkan instans komputasi akselerasi berbasis GPU di masa mendatang untuk mendukung beban kerja machine learning (ML) berdurasi pendek Anda. Instans yang berjalan di dalam Blok Kapasitas secara otomatis ditempatkan berdekatan di dalam Amazon EC2 UltraClusters, untuk jaringan latensi rendah, skala petabit, dan non-pemblokiran.

Untuk informasi selengkapnya tentang platform dan jenis instans yang didukung, lihat Blok Kapasitas untuk ML di Panduan EC2 Pengguna.

Anda dapat membuat Mode Otomatis EKS NodeClass yang menggunakan Blok Kapasitas untuk ML, mirip dengan ODCR (dijelaskan sebelumnya).

Contoh definisi berikut membuat tiga sumber daya:

  1. A NodeClass yang mereferensikan reservasi Blok Kapasitas Anda

  2. A NodePool yang menggunakan NodeClass dan menerapkan noda

  3. Spesifikasi Pod yang mentolerir taint dan meminta sumber daya GPU

Contoh NodeClass

Ini NodeClass mereferensikan Blok Kapasitas tertentu untuk ML dengan ID reservasi. Anda dapat memperoleh ID ini dari EC2 konsol.

apiVersion: eks.amazonaws.com/v1 kind: NodeClass metadata: name: gpu spec: # Specify your Capacity Block reservation ID capacityReservationSelectorTerms: - id: cr-56fac701cc1951b03

Untuk informasi selengkapnya, lihat Buat Kelas Node untuk Amazon EKS.

Contoh NodePool

Ini NodePool mereferensikan gpu NodeClass dan menentukan konfigurasi penting:

  • Ini hanya menggunakan kapasitas cadangan dengan pengaturan karpenter.sh/capacity-type: reserved

  • Ini meminta keluarga instance GPU tertentu yang sesuai untuk beban kerja ML

  • Ini menerapkan nvidia.com/gpu noda untuk memastikan hanya beban kerja GPU yang dijadwalkan pada node ini

apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: gpu spec: template: spec: nodeClassRef: group: eks.amazonaws.com kind: NodeClass name: gpu requirements: - key: eks.amazonaws.com/instance-family operator: In values: - g6 - p4d - p4de - p5 - p5e - p5en - p6 - p6-b200 - key: karpenter.sh/capacity-type operator: In values: - reserved # Enable other capacity types # - on-demand # - spot taints: - effect: NoSchedule key: nvidia.com/gpu

Untuk informasi selengkapnya, lihat Buat Node Pool untuk Mode Otomatis EKS.

Contoh Pod

Contoh pod ini menunjukkan cara mengonfigurasi beban kerja untuk dijalankan pada node Blok Kapasitas Anda:

  • Ini menggunakan NodeSelector untuk menargetkan jenis GPU tertentu (dalam hal ini, H200) GPUs

  • Ini termasuk toleransi untuk nvidia.com/gpu noda yang diterapkan oleh NodePool

  • Ini secara eksplisit meminta sumber daya GPU menggunakan tipe sumber daya nvidia.com/gpu

apiVersion: v1 kind: Pod metadata: name: nvidia-smi spec: nodeSelector: # Select specific GPU type - uncomment as needed # eks.amazonaws.com/instance-gpu-name: l4 # eks.amazonaws.com/instance-gpu-name: a100 eks.amazonaws.com/instance-gpu-name: h200 # eks.amazonaws.com/instance-gpu-name: b200 eks.amazonaws.com/compute-type: auto restartPolicy: OnFailure containers: - name: nvidia-smi image: public.ecr.aws/amazonlinux/amazonlinux:2023-minimal args: - "nvidia-smi" resources: requests: # Uncomment if needed # memory: "30Gi" # cpu: "3500m" nvidia.com/gpu: 1 limits: # Uncomment if needed # memory: "30Gi" nvidia.com/gpu: 1 tolerations: - key: nvidia.com/gpu effect: NoSchedule operator: Exists

Untuk informasi selengkapnya, lihat Pods dalam dokumentasi Kubernetes.