Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CPUPertimbangan memori dan v untuk AWS Batch di Amazon EKS
AWS Batch Di AmazonEKS, Anda dapat menentukan sumber daya yang tersedia untuk wadah. Misalnya, Anda dapat menentukan requests
atau limits
nilai untuk v CPU dan sumber daya memori.
Berikut ini adalah kendala untuk menentukan sumber daya v: CPU
-
Setidaknya satu v CPU
requests
ataulimits
nilai harus ditentukan. -
Satu CPU unit v setara dengan satu inti fisik atau virtual.
-
CPUNilai v harus dimasukkan dalam bilangan bulat atau dengan penambahan 0,25.
-
CPUNilai v valid terkecil adalah 0,25.
-
Jika keduanya ditentukan,
requests
nilainya harus kurang dari atau sama denganlimits
nilainya. Dengan cara ini, Anda dapat mengonfigurasi CPU konfigurasi v lunak dan keras. -
v CPU nilai tidak dapat ditentukan dalam CPU bentuk milli. Misalnya,
100m
bukan nilai yang valid. -
AWS Batch menggunakan
requests
nilai untuk keputusan penskalaan. Jikarequests
nilai tidak ditentukan,limits
nilai disalin kerequests
nilai.
Berikut ini adalah kendala untuk menentukan sumber daya memori:
-
Setidaknya satu memori
requests
ataulimits
nilai harus ditentukan. -
Nilai memori harus dalam mebibytes (MiBs).
-
Jika keduanya ditentukan,
requests
nilainya harus sama denganlimits
nilainya. -
AWS Batch menggunakan
requests
nilai untuk keputusan penskalaan. Jikarequests
nilai tidak ditentukan,limits
nilai disalin kerequests
nilai.
Berikut ini adalah kendala untuk menentukan sumber daya: GPU
-
Jika keduanya ditentukan,
requests
nilainya harus sama denganlimits
nilainya. -
AWS Batch menggunakan
requests
nilai untuk keputusan penskalaan. Jikarequests
nilai tidak ditentukan,limits
nilai disalin kerequests
nilai.
Contoh: definisi pekerjaan
Berikut ini AWS Batch pada definisi EKS pekerjaan Amazon mengonfigurasi CPU saham v lunak. Ini memungkinkan AWS Batch di Amazon EKS menggunakan semua CPU kapasitas v untuk jenis instance. Namun, jika ada pekerjaan lain yang berjalan, pekerjaan tersebut dialokasikan maksimal. 2
vCPUs Memori dibatasi hingga 2 GB.
{ "jobDefinitionName": "MyJobOnEks_Sleep", "type": "container", "eksProperties": { "podProperties": { "containers": [ { "image": "public.ecr.aws/amazonlinux/amazonlinux:2", "command": ["sleep", "60"], "resources": { "requests": { "cpu": "2", "memory": "2048Mi" } } } ] } } }
Berikut ini AWS Batch pada definisi EKS pekerjaan Amazon memiliki request
nilai 1
dan mengalokasikan maksimum 4
vCPUs untuk pekerjaan.
{ "jobDefinitionName": "MyJobOnEks_Sleep", "type": "container", "eksProperties": { "podProperties": { "containers": [ { "image": "public.ecr.aws/amazonlinux/amazonlinux:2", "command": ["sleep", "60"], "resources": { "requests": { "cpu": "1" }, "limits": { "cpu": "4", "memory": "2048Mi" } } } ] } } }
Berikut ini AWS Batch pada definisi EKS pekerjaan Amazon menetapkan CPU limits
nilai v 1
dan limits
nilai memori 1 GB.
{ "jobDefinitionName": "MyJobOnEks_Sleep", "type": "container", "eksProperties": { "podProperties": { "containers": [ { "image": "public.ecr.aws/amazonlinux/amazonlinux:2", "command": ["sleep", "60"], "resources": { "limits": { "cpu": "1", "memory": "1024Mi" } } } ] } } }
Saat AWS Batch menerjemahkan EKS pekerjaan AWS Batch di Amazon ke dalam EKS pod Amazon, AWS Batch salin limits
nilainya ke requests
nilainya. Ini jika requests
nilai tidak ditentukan. Saat Anda mengirimkan contoh definisi pekerjaan sebelumnya, pod spec
adalah sebagai berikut.
apiVersion: v1 kind: Pod ... spec: ... containers: - command: - sleep - 60 image: public.ecr.aws/amazonlinux/amazonlinux:2 resources: limits: cpu: 1 memory: 1024Mi requests: cpu: 1 memory: 1024Mi ...
Reservasi node CPU dan memori
AWS Batch bergantung pada logika default bootstrap.sh
file untuk v CPU dan reservasi memori. Untuk informasi selengkapnya tentang bootstrap.sh
file, lihat bootstrap.sh
catatan
Jika tidak ada instance yang berjalan, reservasi v CPU dan memori pada awalnya dapat memengaruhi logika AWS Batch penskalaan dan pengambilan keputusan. Setelah instance berjalan, AWS Batch sesuaikan alokasi awal.
Contoh: CPU Reservasi node
Nilai CPU reservasi dihitung dalam millicores menggunakan jumlah total vCPUs yang tersedia untuk instance.
CPUnomor v | Persentase dicadangkan |
---|---|
1 | 6% |
2 | 1% |
3-4 | 0,5% |
4 dan di atas | 0,25% |
Menggunakan nilai-nilai sebelumnya, berikut ini benar:
-
Nilai CPU reservasi untuk
c5.large
instance dengan 2 vCPUs adalah 70 m. Ini dihitung dengan cara berikut: (1*60) + (1*10) = 70 m. -
Nilai CPU reservasi untuk
c5.24xlarge
instance dengan 96 vCPUs adalah 310 m. Ini dihitung dengan cara berikut: (1*60) + (1*10) + (2*5) + (92*2.5) = 310 m.
Dalam contoh ini, ada 1930 (dihitung 2000-70) millicore v CPU unit yang tersedia untuk menjalankan pekerjaan pada sebuah instance. c5.large
Misalkan pekerjaan Anda membutuhkan 2
(2* 1000 m) v CPU unit, pekerjaan tidak cocok pada satu c5.large
contoh. Namun, pekerjaan yang membutuhkan CPU unit 1.75
v cocok.
Contoh: Reservasi memori node
Nilai reservasi memori dihitung dalam mebibytes menggunakan yang berikut ini:
-
Kapasitas instance dalam mebibytes. Misalnya, instance 8 GB adalah 7.748 MiB.
-
kubeReserved
Nilainya.kubeReserved
Nilainya adalah jumlah memori yang akan dicadangkan untuk daemon sistem.kubeReserved
Nilai dihitung dengan cara berikut: ((11 * jumlah maksimum pod yang didukung oleh tipe instance) + 255). Untuk informasi tentang jumlah maksimum Pod yang didukung oleh tipe instance, lihat eni-max-pods.txt -
HardEvictionLimit
Nilainya. Ketika memori yang tersedia jatuh di bawahHardEvictionLimit
nilai, instance mencoba untuk mengusir pod.
Rumus untuk menghitung memori yang dapat dialokasikan adalah sebagai berikut: (instance_capacity_in_MiB
) - (11 * (maximum_number_of_pods
)) - 255 - (
)).HardEvictionLimit
value.
Sebuah c5.large
instance mendukung hingga 29 pod. Untuk c5.large
instance 8 GB dengan HardEvictionLimit
nilai 100 MiB, memori yang dapat dialokasikan adalah 7074 MiB. Ini dihitung dengan cara berikut: (7748 - (11 * 29) -255 -100) = 7074 MiB. Dalam contoh ini, sebuah 8.192 MiB pekerjaan tidak cocok pada contoh ini meskipun itu adalah 8 gibibyte
(GiB) contoh.
DaemonSets
Saat Anda menggunakan DaemonSets, pertimbangkan hal berikut:
-
Jika tidak ada EKS instans AWS Batch di Amazon yang berjalan, DaemonSets awalnya dapat mempengaruhi logika AWS Batch penskalaan dan pengambilan keputusan. AWS Batch awalnya mengalokasikan CPU unit 0,5 v dan 500 MiB untuk yang diharapkan DaemonSets. Setelah instance berjalan, AWS Batch sesuaikan alokasi awal.
-
Jika DaemonSet mendefinisikan v CPU atau batas memori, AWS Batch di Amazon EKS pekerjaan memiliki sumber daya yang lebih sedikit. Kami menyarankan agar Anda menyimpan jumlah DaemonSets yang ditugaskan untuk AWS Batch pekerjaan serendah mungkin.