Kontrol jika beban kerja diterapkan pada node Mode Otomatis EKS - Amazon EKS

View a markdown version of this page

Kontrol jika beban kerja diterapkan pada node Mode Otomatis EKS - Amazon EKS

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.

Kontrol jika beban kerja diterapkan pada node Mode Otomatis EKS

Saat menjalankan beban kerja di cluster EKS dengan Mode Otomatis EKS, Anda mungkin perlu mengontrol apakah beban kerja tertentu berjalan pada node Mode Otomatis EKS atau jenis komputasi lainnya. Topik ini menjelaskan cara menggunakan pemilih node dan aturan afinitas untuk memastikan beban kerja Anda dijadwalkan pada infrastruktur komputasi yang dituju.

Contoh dalam topik ini menunjukkan cara menggunakan eks.amazonaws.com/compute-type label untuk memerlukan atau mencegah penerapan beban kerja pada node Mode Otomatis EKS. Ini sangat berguna dalam kluster mode campuran di mana Anda menjalankan Mode Otomatis EKS dan jenis komputasi lainnya, seperti penyedia Karpenter yang dikelola sendiri atau Grup Node Kelola EKS.

Node Mode Otomatis EKS telah menetapkan nilai label eks.amazonaws.com/compute-type keauto. Anda dapat menggunakan label ini untuk mengontrol apakah beban kerja diterapkan ke node yang dikelola oleh Mode Otomatis EKS.

Memerlukan beban kerja diterapkan ke node Mode Otomatis EKS

catatan

nodeSelectorNilai ini tidak diperlukan untuk Mode Otomatis EKS. nodeSelectorNilai ini hanya relevan jika Anda menjalankan cluster dalam mode campuran, tipe node tidak dikelola oleh EKS Auto Mode. Misalnya, Anda mungkin memiliki kapasitas komputasi statis yang diterapkan ke cluster Anda dengan EKS Managed Node Groups, dan memiliki kapasitas komputasi dinamis yang dikelola oleh Mode Otomatis EKS.

Anda dapat menambahkan ini nodeSelector ke Deployments atau beban kerja lainnya agar Kubernetes menjadwalkannya ke node Mode Otomatis EKS.

apiVersion: apps/v1 kind: Deployment spec: template: spec: nodeSelector: eks.amazonaws.com/compute-type: auto

Memerlukan beban kerja tidak diterapkan ke node Mode Otomatis EKS

Anda dapat menambahkan ini nodeAffinity ke Deployments atau beban kerja lainnya agar Kubernetes tidak menjadwalkannya ke node Mode Otom atis EKS.

affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: NotIn values: - auto

Targetkan yang spesifik NodePool

Cluster Mode Otomatis Amazon EKS dapat memiliki lebih dari satu NodePool. Anda mungkin ingin beban kerja berjalan hanya pada node dari node tertentu NodePool. Untuk mencapai hal ini, beban kerja dapat dicocokkan pada salah satu label berikut:

  • Label khusus yang Anda tentukan pada NodePool. Saat Anda menambahkan label spec.template.metadata.labels di bawah a NodePool, Mode Otomatis Amazon EKS menerapkan label tersebut ke setiap simpul yang NodePool disediakan. Label khusus adalah pendekatan yang disarankan. Label kustom mengikat beban kerja ke kemampuan, sepertiworkload-class: gpu-inference, alih-alih ke NodePool nama tertentu.

  • karpenter.sh/nodepoolLabel yang terkenal. Mode Otomatis Amazon EKS menerapkan label ini ke setiap node yang disediakan, menggunakan nama NodePool sebagai nilainya. Gunakan label ini jika Anda belum menentukan label kustom dan ingin menargetkan NodePool berdasarkan nama.

Menargetkan NodePool label khusus

Pertama, tentukan label pada NodePool.

apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: gpu spec: template: metadata: labels: workload-class: gpu-inference

Untuk informasi selengkapnya tentang NodePool konfigurasi, lihatMembuat Kumpulan Simpul untuk Mode Otomatis EKS.

Selanjutnya, cocokkan label itu dari beban kerja.

apiVersion: apps/v1 kind: Deployment metadata: name: inference spec: template: spec: nodeSelector: workload-class: gpu-inference

Pod dari Deployment ini menjadwalkan hanya ke node yang gpu NodePool disediakan. Beban kerja tanpa ini nodeSelector terus berjalan pada default NodePool.

Targetkan a NodePool dengan nama

NodePool perubahan nama mempengaruhi penjadwalan

Menyematkan beban kerja berdasarkan nama dapat meninggalkan pod dalam Pending status jika Anda mengganti nama atau menghapus target NodePool. Gunakan label kemampuan khusus untuk beban kerja apa pun yang Anda harapkan dapat bertahan lebih lama dari NodePool definisi tunggal.

apiVersion: apps/v1 kind: Deployment spec: template: spec: nodeSelector: karpenter.sh/nodepool: <your-nodepool-name>

Untuk informasi selengkapnya tentang cara Karpenter mencocokkan pod dengan NodePools, lihat Pen jadwalan di dokumentasi Karpenter.