Referensi: Parameter definisi Job untuk ContainerProperties - AWS Batch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Referensi: Parameter definisi Job untuk ContainerProperties

Definisi Job yang ContainerPropertiesdigunakan dibagi menjadi beberapa bagian:

  • nama definisi pekerjaan

  • jenis definisi pekerjaan

  • default placeholder substitusi parameter

  • properti kontainer untuk pekerjaan

  • EKSproperti Amazon untuk definisi pekerjaan yang diperlukan untuk pekerjaan yang dijalankan di EKS sumber daya Amazon

  • properti node yang diperlukan untuk pekerjaan paralel multi-node

  • kemampuan platform yang diperlukan untuk pekerjaan yang dijalankan pada sumber daya Fargate

  • rincian propagasi tag default dari definisi pekerjaan

  • strategi coba lagi default untuk definisi pekerjaan

  • prioritas penjadwalan default untuk definisi pekerjaan

  • tag default untuk definisi pekerjaan

  • batas waktu default untuk definisi pekerjaan

Nama ketentuan tugas

jobDefinitionName

Ketika mendaftarkan ketentuan tugas, Anda menentukan namanya. Nama dapat memiliki panjang hingga 128 karakter. Nama dapat memuat huruf besar dan huruf kecil, angka, tanda hubung (-), dan garis bawah (_). Ketentuan tugas pertama yang terdaftar dengan nama tersebut diberi revisi 1. Ketentuan tugas berikutnya yang terdaftar dengan nama tersebut akan diberi nomor revisi yang makin besar.

Tipe: String

Diperlukan: Ya

Tipe

type

Ketika mendaftarkan ketentuan tugas, Anda menentukan tipe tugas. Jika tugas berjalan di sumber daya Fargate, multinode tidak didukung. Untuk informasi lebih lanjut tentang tugas paralel multisimpul, lihat Buat definisi pekerjaan paralel multi-node.

Tipe: String

Nilai yang valid: container | multinode

Wajib: Ya

Parameter

parameters

Saat mengirimkan pekerjaan, Anda dapat menentukan parameter yang menggantikan placeholder atau mengganti parameter definisi pekerjaan default. Parameter dalam permintaan pengiriman tugas lebih diutamakan daripada default dalam ketentuan tugas. Ini berarti Anda dapat menggunakan definisi pekerjaan yang sama untuk beberapa pekerjaan yang menggunakan format yang sama. Anda juga dapat mengubah nilai secara terprogram dalam perintah pada waktu pengiriman.

Tipe: Peta antar string

Wajib: Tidak

Ketika mendaftarkan ketentuan tugas, Anda dapat menggunakan placeholder substitusi parameter di bidang command properti kontainer tugas. Sintaksnya adalah sebagai berikut.

"command": [ "ffmpeg", "-i", "Ref::inputfile", "-c", "Ref::codec", "-o", "Ref::outputfile" ]

Dalam contoh di atas, terdapat placeholder substitusi parameter Ref::inputfile, Ref::codec, dan Ref::outputfile dalam perintah. Anda dapat menggunakan objek parameters dalam ketentuan tugas untuk menetapkan nilai default untuk placeholder ini. Misalnya, untuk mengatur default untuk placeholder Ref::codec, Anda menentukan hal berikut dalam ketentuan tugas:

"parameters" : {"codec" : "mp4"}

Ketika ketentuan tugas ini dikirim untuk dijalankan, argumen Ref::codec dalam perintah untuk kontainer diganti dengan nilai default, mp4.

Properti kontainer

Saat Anda mendaftarkan definisi pekerjaan, tentukan daftar properti kontainer yang diteruskan ke daemon Docker pada instance container saat pekerjaan ditempatkan. Properti kontainer berikut diperbolehkan dalam ketentuan tugas. Untuk tugas simpul tunggal, properti kontainer ini ditetapkan pada tingkat ketentuan tugas. Untuk tugas paralel multisimpul, properti kontainer ditetapkan pada tingkat Properti simpul, untuk setiap grup simpul.

command

Perintah yang disampaikan ke kontainer. Parameter ini dipetakan ke Cmd bagian Create a container dari Docker Remote API dan COMMAND parameternya ke docker run. Untuk informasi selengkapnya tentang CMD parameter Docker, lihat https://docs.docker.com/engine/reference/builder/ #cmd.

"command": ["string", ...]

Tipe: Array string

Wajib: Tidak

environment

Variabel lingkungan untuk disampaikan ke kontainer. Parameter ini dipetakan ke Env bagian Create a container dari Docker Remote API dan --env opsi untuk docker run.

penting

Kami tidak merekomendasikan Anda menggunakan variabel lingkungan plaintext untuk informasi sensitif, seperti data kredensial.

catatan

Variabel lingkungan tidak boleh dimulai dengan AWS_BATCH. Konvensi penamaan ini dicadangkan untuk variabel yang ditetapkan oleh AWS Batch layanan.

Jenis: Array pasangan nilai-kunci

Wajib: Tidak

name

Nama variabel lingkungan.

Tipe: String

Wajib: Ya, ketika environment digunakan.

value

Nilai variabel lingkungan.

Tipe: String

Wajib: Ya, ketika environment digunakan.

"environment" : [ { "name" : "envName1", "value" : "envValue1" }, { "name" : "envName2", "value" : "envValue2" } ]
executionRoleArn

Saat Anda mendaftarkan definisi pekerjaan, Anda dapat menentukan IAM peran. Peran tersebut memberi agen ECS penampung Amazon izin untuk memanggil API tindakan yang ditentukan dalam kebijakan terkait atas nama Anda. Pekerjaan yang berjalan pada sumber daya Fargate harus memberikan peran eksekusi. Untuk informasi selengkapnya, lihat Peran eksekusi AWS Batch IAM.

Tipe: String

Wajib: Tidak

fargatePlatformConfiguration

Konfigurasi platform untuk pekerjaan yang berjalan pada sumber daya Fargate. Pekerjaan yang berjalan pada EC2 sumber daya tidak boleh menentukan parameter ini.

Tipe: Objek FargatePlatformConfiguration

Wajib: Tidak

platformVersion

Versi platform AWS Fargate digunakan untuk pekerjaan, atau LATEST untuk menggunakan versi terbaru yang disetujui dari platform Fargate AWS .

Tipe: String

Default: LATEST

Wajib: Tidak

image

Citra yang digunakan untuk memulai tugas. String ini disampaikan langsung ke daemon Docker. Gambar di registri Docker Hub tersedia secara default. Anda juga dapat menentukan repositori lainnya dengan repository-url/image:tag. Maksimum 255 huruf (huruf besar dan huruf kecil), angka, tanda hubung, garis bawah, titik dua, titik miring ke depan, dan tanda pagar diperbolehkan. Parameter ini dipetakan ke Image bagian Create a container dari Docker Remote API dan IMAGE parameter. docker run

catatan

Docker arsitektur gambar harus sesuai dengan arsitektur prosesor dari sumber daya komputasi yang dijadwalkan. Misalnya, Arm berdasarkan Docker gambar hanya dapat berjalan di Arm sumber daya komputasi berbasis.

  • Gambar di repositori ECR Publik Amazon menggunakan konvensi lengkap registry/repository[:tag] atau registry/repository[@digest] penamaan (misalnya,). public.ecr.aws/registry_alias/my-web-app:latest

  • Gambar di ECR repositori Amazon menggunakan konvensi registry/repository:[tag] penamaan lengkap. Misalnya, aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest.

  • Gambar di repositori resmi di Docker Hub menggunakan satu nama (misalnya, ubuntu atau mongo).

  • Gambar di repositori lain di Docker Hub memenuhi syarat dengan nama organisasi (misalnya, amazon/amazon-ecs-agent).

  • Gambar di repositori online lainnya memenuhi syarat lebih lanjut dengan nama domain (misalnya, quay.io/assemblyline/ubuntu).

Tipe: String

Diperlukan: Ya

instanceType

Tipe instans yang digunakan untuk tugas paralel multisimpul. Semua kelompok simpul dalam pekerjaan paralel multi-simpul harus menggunakan tipe instans yang sama. Parameter ini tidak valid untuk pekerjaan kontainer simpul tunggal atau untuk pekerjaan yang berjalan pada sumber daya Fargate.

Tipe: String

Wajib: Tidak

jobRoleArn

Saat Anda mendaftarkan definisi pekerjaan, Anda dapat menentukan IAM peran. Peran tersebut memberi wadah pekerjaan izin untuk memanggil API tindakan yang ditentukan dalam kebijakan terkait atas nama Anda. Untuk informasi selengkapnya, lihat IAMPeran untuk Tugas di Panduan Pengembang Layanan Kontainer Elastis Amazon.

Tipe: String

Wajib: Tidak

linuxParameters

Modifikasi khusus Linux yang diterapkan ke kontainer, seperti detail untuk pemetaan perangkat.

"linuxParameters": { "devices": [ { "hostPath": "string", "containerPath": "string", "permissions": [ "READ", "WRITE", "MKNOD" ] } ], "initProcessEnabled": true|false, "sharedMemorySize": 0, "tmpfs": [ { "containerPath": "string", "size": integer, "mountOptions": [ "string" ] } ], "maxSwap": integer, "swappiness": integer }

Tipe: Objek LinuxParameters

Wajib: Tidak

devices

Daftar perangkat yang dipetakan ke kontainer. Parameter ini dipetakan ke Devices bagian Create a container dari Docker Remote API dan --device opsi untuk docker run.

catatan

Parameter ini tidak berlaku untuk pekerjaan yang berjalan di sumber daya Fargate.

Tipe: Array objek Perangkat

Wajib: Tidak

hostPath

Jalur tempat perangkat tersedia dalam instans kontainer host.

Tipe: String

Diperlukan: Ya

containerPath

Jalur tempat perangkat diungkap dalam kontainer. Jika ini tidak ditentukan, perangkat akan diungkap di jalur yang sama dengan jalur host.

Tipe: String

Wajib: Tidak

permissions

Izin untuk perangkat dalam kontainer. Jika hal ini tidak ditentukan, izin ditetapkan ke READ, WRITE, dan MKNOD.

Tipe: Array string

Wajib: Tidak

Nilai yang valid: READ | WRITE | MKNOD

initProcessEnabled

Jika betul, jalankan proses init di dalam kontainer yang meneruskan sinyal dan melakukan reaping pada proses. Parameter ini sesuai dengan opsi --init untuk docker run. Parameter ini memerlukan Docker Remote versi 1.25 API atau lebih besar pada instance container Anda. Untuk memeriksa API versi Docker Remote pada instance container Anda, masuk ke instance container Anda dan jalankan perintah berikut: sudo docker version | grep "Server API version"

Tipe: Boolean

Wajib: Tidak

maxSwap

Jumlah total memori swap (dalam MiB) yang dapat digunakan oleh tugas. Parameter ini diterjemahkan ke opsi --memory-swap untuk docker run di mana nilai adalah jumlah memori kontainer ditambah nilai maxSwap. Untuk informasi lebih lanjut, lihat detail --memory-swap dalam dokumentasi Docker.

Jika nilai maxSwap sebesar 0 ditentukan, kontainer tidak menggunakan swap. Nilai yang diterima adalah 0 atau bilangan bulat positif. Jika maxSwap parameter dihilangkan, kontainer menggunakan konfigurasi swap untuk instance container yang dijalankannya. Nilai maxSwap harus ditetapkan untuk parameter swappiness yang akan digunakan.

catatan

Parameter ini tidak berlaku untuk pekerjaan yang berjalan di sumber daya Fargate.

Tipe: Integer

Wajib: Tidak

sharedMemorySize

Nilai untuk ukuran (dalam MiB) volume /dev/shm. Parameter ini sesuai dengan opsi --shm-size untuk docker run.

catatan

Parameter ini tidak berlaku untuk pekerjaan yang berjalan di sumber daya Fargate.

Tipe: Integer

Wajib: Tidak

swappiness

Anda dapat menggunakan ini untuk menyetel perilaku swappiness memori kontainer. Nilai swappiness sebesar 0 menyebabkan swapping tidak terjadi kecuali benar-benar diperlukan. swappinessNilai 100 penyebab halaman ditukar secara agresif. Nilai yang diterima adalah bilangan bulat antara 0 dan 100. Jika parameter swappiness tidak ditentukan, nilai default sebesar 60 akan digunakan. Jika nilai tidak ditentukan untuk maxSwap, parameter ini akan diabaikan. Jika maxSwap diatur ke 0, kontainer tidak menggunakan swap. Parameter ini sesuai dengan opsi --memory-swappiness untuk docker run.

Pertimbangkan hal berikut ketika Anda menggunakan konfigurasi swap per kontainer.

  • Ruang tukar harus diaktifkan dan dialokasikan di instans kontainer untuk kontainer yang akan digunakan.

    catatan

    Amazon yang ECS dioptimalkan AMIs tidak mengaktifkan swap secara default. Anda harus mengaktifkan swap di instans untuk menggunakan fitur ini. Untuk informasi selengkapnya, lihat Volume Swap Toko Instance di Panduan EC2 Pengguna Amazon atau Bagaimana cara mengalokasikan memori agar berfungsi sebagai ruang swap di EC2 instans Amazon menggunakan file swap? .

  • Parameter ruang swap hanya didukung untuk definisi pekerjaan menggunakan EC2 sumber daya.

  • Jika swappiness parameter maxSwap dan dihilangkan dari definisi pekerjaan, setiap kontainer memiliki swappiness nilai default 60. Total penggunaan swap dibatasi hingga dua kali reservasi memori kontainer.

catatan

Parameter ini tidak berlaku untuk pekerjaan yang berjalan di sumber daya Fargate.

Tipe: Integer

Wajib: Tidak

tmpfs

Jalur kontainer, opsi pemasangan, dan ukuran tmpfs gunung.

Tipe: Array objek Tmpfs

catatan

Parameter ini tidak berlaku untuk pekerjaan yang berjalan di sumber daya Fargate.

Wajib: Tidak

containerPath

Jalur file absolut dalam wadah tempat tmpfs volume sudah terpasang.

Tipe: String

Diperlukan: Ya

mountOptions

Daftar tmpfs opsi pemasangan volume.

Nilai yang valid: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol"

Tipe: Array string

Wajib: Tidak

size

Ukuran (dalam MiB) tmpfs volume.

Jenis: Integer

Wajib: Ya

logConfiguration

Spesifikasi konfigurasi log untuk tugas.

Parameter ini dipetakan ke LogConfig bagian Create a container dari Docker Remote API dan --log-driver opsi untuk docker run. Secara default, kontainer menggunakan driver pencatatan yang sama dengan yang digunakan daemon Docker. Namun, penampung dapat menggunakan driver logging yang berbeda dari daemon Docker dengan menentukan driver log dengan parameter ini dalam definisi container. Untuk menggunakan driver pencatatan yang berbeda untuk suatu kontainer, sistem log harus dikonfigurasi di instans kontainer atau di server log lain untuk menyediakan opsi pencatatan jarak jauh. Untuk informasi lebih lanjut tentang opsi untuk berbagai driver log yang didukung, lihat Mengonfigurasi driver pencatatan dalam dokumentasi Docker.

catatan

AWS Batch saat ini mendukung subset dari driver logging yang tersedia untuk daemon Docker (ditampilkan dalam tipe data). LogConfiguration

Parameter ini memerlukan versi 1.18 dari Docker Remote API atau lebih tinggi pada instance container Anda. Untuk memeriksa API versi Docker Remote pada instance container Anda, masuk ke instance container Anda dan jalankan perintah berikut: sudo docker version | grep "Server API version"

"logConfiguration": { "devices": [ { "logDriver": "string", "options": { "optionName1" : "optionValue1", "optionName2" : "optionValue2" } "secretOptions": [ { "name" : "secretOptionName1", "valueFrom" : "secretOptionArn1" }, { "name" : "secretOptionName2", "valueFrom" : "secretOptionArn2" } ] } ] }

Tipe: Objek LogConfiguration

Wajib: Tidak

logDriver

Driver log yang akan digunakan untuk tugas. Secara default, AWS Batch mengaktifkan driver awslogs log. Nilai valid yang tercantum untuk parameter ini adalah driver log yang dapat berkomunikasi dengan agen ECS penampung Amazon secara default.

Parameter ini dipetakan ke LogConfig bagian Create a container dari Docker Remote API dan --log-driver opsi untuk docker run. Secara default, tugas menggunakan driver pencatatan yang sama dengan yang digunakan daemon Docker. Namun, tugas dapat menggunakan driver pencatatan yang berbeda dari daemon Docker dengan menentukan driver log dengan parameter ini dalam ketentuan tugas. Jika Anda ingin menentukan driver logging lain untuk suatu pekerjaan, sistem log harus dikonfigurasi pada instance container di lingkungan komputasi. Atau, sebagai alternatif, konfigurasikan di server log lain untuk menyediakan opsi logging jarak jauh. Untuk informasi lebih lanjut tentang opsi untuk berbagai driver log yang didukung, lihat Mengonfigurasi driver pencatatan dalam dokumentasi Docker.

catatan

AWS Batch saat ini mendukung subset dari driver logging yang tersedia untuk daemon Docker. Driver log tambahan mungkin tersedia di rilis agen ECS kontainer Amazon di masa mendatang.

Driver log yang didukung adalah awslogs, fluentd, gelf, json-file, journald, logentries, syslog, dan splunk.

catatan

Pekerjaan yang berjalan pada sumber daya Fargate dibatasi untuk driver splunk log awslogs dan log.

Parameter ini memerlukan versi 1.18 dari Docker Remote API atau lebih tinggi pada instance container Anda. Untuk memeriksa API versi Docker Remote pada instance container Anda, masuk ke instance container Anda dan jalankan perintah berikut: sudo docker version | grep "Server API version"

catatan

Agen ECS penampung Amazon yang berjalan pada instance container harus mendaftarkan driver logging yang tersedia pada instance tersebut dengan variabel ECS_AVAILABLE_LOGGING_DRIVERS lingkungan. Jika tidak, kontainer yang ditempatkan di instans tersebut tidak dapat menggunakan opsi konfigurasi log ini. Untuk informasi selengkapnya, lihat Konfigurasi Agen ECS Kontainer Amazon di Panduan Pengembang Layanan Kontainer Elastis Amazon.

awslogs

Menentukan driver logging Amazon CloudWatch Logs. Untuk informasi selengkapnya, lihat Gunakan driver log awslogs dan driver logging Amazon CloudWatch Logs di dokumentasi Docker.

fluentd

Menentukan driver pencatatan Fluentd. Untuk informasi selengkapnya termasuk penggunaan dan opsi, lihat Driver logging fluentd di dokumentasi Docker.

gelf

Menentukan driver logging Graylog Extended Format (GELF). Untuk informasi selengkapnya termasuk penggunaan dan opsi, lihat driver logging Graylog Extended Format di dokumentasi Docker.

journald

Menentukan driver pencatatan journald. Untuk informasi selengkapnya termasuk penggunaan dan opsi, lihat driver logging Journald di dokumentasi Docker.

json-file

Menentukan driver JSON file logging. Untuk informasi selengkapnya termasuk penggunaan dan opsi, lihat Driver pencatatan JSON file di dokumentasi Docker.

splunk

Menentukan driver pencatatan Splunk. Untuk informasi selengkapnya termasuk penggunaan dan opsi, lihat Splunk logging driver di dokumentasi Docker.

syslog

Menentukan driver pencatatan syslog. Untuk informasi selengkapnya termasuk penggunaan dan opsi, lihat Driver logging Syslog di dokumentasi Docker.

Tipe: String

Diperlukan: Ya

Nilai yang valid: awslogs | fluentd | gelf | journald | json-file | splunk | syslog

catatan

Jika Anda memiliki driver khusus yang tidak terdaftar sebelumnya yang ingin Anda gunakan dengan agen ECS penampung Amazon, Anda dapat melakukan fork proyek agen ECS penampung Amazon yang tersedia GitHub dan menyesuaikannya agar berfungsi dengan driver tersebut. Kami mendorong Anda untuk mengirim permintaan tarik untuk perubahan yang ingin Anda sertakan. Namun, Amazon Web Services saat ini tidak mendukung permintaan yang menjalankan salinan modifikasi dari perangkat lunak ini.

options

Opsi konfigurasi log untuk dikirim ke driver log untuk tugas.

Parameter ini memerlukan versi 1.19 dari Docker Remote API atau yang lebih besar pada instance container Anda.

Tipe: Peta antar string

Wajib: Tidak

secretOptions

Objek yang mewakili rahasia untuk diteruskan ke konfigurasi log. Untuk informasi selengkapnya, lihat Tentukan data sensitif.

Tipe: array objek

Wajib: Tidak

name

Nama opsi driver log yang akan ditetapkan dalam tugas.

Tipe: String

Diperlukan: Ya

valueFrom

Amazon Resource Name (ARN) dari rahasia untuk mengekspos ke konfigurasi log wadah. Nilai yang didukung penuh dengan ARN rahasia Secrets Manager atau ARN penuh parameter di SSM Parameter Store.

catatan

Jika SSM parameter Parameter Store ada Wilayah AWS sama dengan tugas yang Anda luncurkan, maka Anda dapat menggunakan lengkap ARN atau nama parameter. Jika parameter ada di Wilayah yang berbeda, maka lengkap ARN harus ditentukan.

Tipe: String

Diperlukan: Ya

memory

Parameter ini sudah usang, gunakan sebagai gantinya. resourceRequirements

Jumlah memori MiB yang disediakan untuk pekerjaan itu.

Sebagai contoh untuk cara menggunakanresourceRequirements, jika definisi pekerjaan Anda berisi sintaks yang mirip dengan berikut ini.

"containerProperties": { "memory": 512 }

Sintaks yang setara menggunakan resourceRequirements adalah sebagai berikut.

"containerProperties": { "resourceRequirements": [ { "type": "MEMORY", "value": "512" } ] }

Jenis: Integer

Wajib: Ya

mountPoints

Titik pemasangan untuk volume data dalam kontainer Anda. Parameter ini dipetakan ke Volumes bagian Create a container dari Docker Remote API dan --volume opsi untuk docker run.

"mountPoints": [ { "sourceVolume": "string", "containerPath": "string", "readOnly": true|false } ]

Tipe: Array objek

Wajib: Tidak

sourceVolume

Nama volume yang akan dipasang.

Tipe: String

Wajib: Ya, ketika mountPoints digunakan.

containerPath

Path di kontainer tempat memasang volume host.

Tipe: String

Wajib: Ya, ketika mountPoints digunakan.

readOnly

Jika nilai ini adalah true, kontainer memiliki akses hanya-baca ke volume. Jika nilai ini adalah false, kontainer bisa menulis ke volume.

Tipe: Boolean

Wajib: Tidak

Default: Salah

networkConfiguration

Konfigurasi jaringan untuk pekerjaan yang berjalan pada sumber daya Fargate. Pekerjaan yang berjalan pada EC2 sumber daya tidak boleh menentukan parameter ini.

"networkConfiguration": { "assignPublicIp": "string" }

Tipe: Array objek

Wajib: Tidak

assignPublicIp

Menunjukkan apakah pekerjaan memiliki alamat IP publik. Hal ini diperlukan jika tugas membutuhkan akses jaringan keluar.

Tipe: String

Nilai yang valid: ENABLED | DISABLED

Wajib: Tidak

Default: DISABLED

privileged

Jika parameter ini betul, kontainer akan diberikan izin tingkat tinggi di instans kontainer host (mirip dengan pengguna root). Parameter ini dipetakan ke Privileged bagian Create a container dari Docker Remote API dan --privileged opsi untuk docker run. Parameter ini tidak berlaku untuk pekerjaan yang berjalan di sumber daya Fargate. Jangan berikan atau tentukan sebagai false.

"privileged": true|false

Tipe: Boolean

Wajib: Tidak

readonlyRootFilesystem

Jika parameter ini betul, kontainer diberikan akses hanya-baca ke sistem file asalnya. Parameter ini dipetakan ke ReadonlyRootfs bagian Create a container dari Docker Remote API dan --read-only opsi untuk docker run.

"readonlyRootFilesystem": true|false

Tipe: Boolean

Wajib: Tidak

resourceRequirements

Jenis dan jumlah sumber daya yang akan ditetapkan ke kontainer. Sumber daya yang didukung mencakup GPU, MEMORY, dan VCPU.

"resourceRequirements" : [ { "type": "GPU", "value": "number" } ]

Tipe: Array objek

Wajib: Tidak

type

Jenis sumber daya yang akan ditetapkan ke kontainer. Sumber daya yang didukung mencakup GPU, MEMORY, dan VCPU.

Tipe: String

Wajib: Ya, ketika resourceRequirements digunakan.

value

Kuantitas sumber daya yang ditentukan untuk disimpan bagi kontainer. Nilainya bervariasi berdasarkan type yang ditentukan.

tipe=”” GPU

Jumlah fisik yang GPUs akan dicadangkan untuk wadah. Jumlah GPUs cadangan untuk semua kontainer dalam suatu pekerjaan tidak dapat melebihi jumlah yang tersedia GPUs pada sumber daya komputasi tempat pekerjaan diluncurkan.

tipe=”” MEMORY

Batas keras (dalam MiB) memori yang diberikan ke kontainer. Jika kontainer Anda mencoba untuk melebihi memori yang ditentukan di sini, kontainer akan dimatikan. Parameter ini dipetakan ke Memory bagian Create a container dari Docker Remote API dan --memory opsi untuk docker run. Anda harus menentukan sedikitnya 4 MiB memori untuk sebuah tugas. Ini diperlukan tetapi dapat ditentukan di beberapa tempat untuk pekerjaan multi-node parallel (MNP). Itu harus ditentukan setidaknya sekali untuk setiap node. Parameter ini dipetakan ke Memory bagian Create a container dari Docker Remote API dan --memory opsi untuk docker run.

catatan

Jika Anda mencoba memaksimalkan pemanfaatan sumber daya dengan menyediakan memori sebanyak mungkin bagi tugas untuk tipe instans tertentu, lihat Menghitung manajemen memori sumber daya.

Untuk pekerjaan yang berjalan pada sumber daya Fargate, maka value harus cocok dengan salah satu nilai yang didukung. Selain itu, VCPU nilai harus menjadi salah satu nilai yang didukung untuk nilai memori tersebut.

VCPU MEMORY

0,25 v CPU

512, 1024, dan 2048 MiB

0,5 v CPU

1024-4096 MiB dalam peningkatan 1024 MiB

1 v CPU

2048-8192 MiB dalam peningkatan 1024 MiB

2 v CPU

4096-16384 MiB dalam peningkatan 1024 MiB

4 v CPU

8192-30720 MiB dengan peningkatan 1024 MiB

8 v CPU

16384-61440 MiB dengan peningkatan 4096 MiB

16 v CPU

32768-122880 MiB dengan peningkatan 8192 MiB

tipe=”” VCPU

Jumlah yang vCPUs dicadangkan untuk pekerjaan itu. Parameter ini dipetakan ke CpuShares bagian Create a container dari Docker Remote API dan --cpu-shares opsi untuk docker run. Setiap v CPU setara dengan 1.024 sahamCPU. Untuk pekerjaan yang berjalan pada EC2 sumber daya, Anda harus menentukan setidaknya satu vCPU. Hal ini wajib, tetapi dapat ditentukan di beberapa tempat. Itu harus ditentukan setidaknya sekali untuk setiap node.

Untuk pekerjaan yang berjalan di sumber daya Fargate, value harus cocok dengan salah satu nilai yang didukung dan MEMORY nilai harus menjadi salah satu nilai yang didukung untuk nilai tersebut. VCPU Nilai yang didukung adalah 0,25, 0,5, 1, 2, 4, 8, dan 16.

Default untuk kuota jumlah CPU sumber daya Fargate On-Demand v adalah 6. vCPUs Untuk informasi lebih lanjut tentang kuota Fargate, lihat kuota AWS Fargate di. Referensi Umum Amazon Web

Tipe: String

Wajib: Ya, ketika resourceRequirements digunakan.

secrets

Rahasia untuk tugas yang diungkap sebagai variabel lingkungan. Untuk informasi selengkapnya, lihat Tentukan data sensitif.

"secrets": [ { "name": "secretName1", "valueFrom": "secretArn1" }, { "name": "secretName2", "valueFrom": "secretArn2" } ... ]

Tipe: Array objek

Wajib: Tidak

name

Nama variabel lingkungan yang berisi rahasia.

Tipe: String

Wajib: Ya, ketika secrets digunakan.

valueFrom

Rahasia yang akan diungkap ke kontainer. Nilai yang didukung adalah Amazon Resource Name (ARN) lengkap dari rahasia Secrets Manager atau penuh ARN parameter di SSM Parameter Store.

catatan

Jika SSM parameter Parameter Store ada Wilayah AWS sama dengan pekerjaan yang Anda luncurkan, maka Anda dapat menggunakan lengkap ARN atau nama parameter. Jika parameter ada di Wilayah yang berbeda, maka lengkap ARN harus ditentukan.

Tipe: String

Wajib: Ya, ketika secrets digunakan.

ulimits

Daftar nilai ulimits yang akan ditetapkan dalam kontainer. Parameter ini dipetakan ke Ulimits bagian Create a container dari Docker Remote API dan --ulimit opsi untuk docker run.

"ulimits": [ { "name": string, "softLimit": integer, "hardLimit": integer } ... ]

Tipe: Array objek

Wajib: Tidak

name

Parameter type dari ulimit.

Tipe: String

Wajib: Ya, ketika ulimits digunakan.

hardLimit

Batas keras untuk tipe ulimit.

Jenis: Integer

Wajib: Ya, ketika ulimits digunakan.

softLimit

Batas lunak untuk tipe ulimit.

Jenis: Integer

Wajib: Ya, ketika ulimits digunakan.

user

Nama pengguna untuk digunakan di dalam kontainer. Parameter ini dipetakan ke User bagian Create a container dari Docker Remote API dan --user opsi untuk docker run.

"user": "string"

Tipe: String

Wajib: Tidak

vcpus

Parameter ini sudah usang, gunakan sebagai gantinya. resourceRequirements

Jumlah yang vCPUs dicadangkan untuk wadah.

Sebagai contoh cara menggunakanresourceRequirements, jika definisi pekerjaan Anda berisi baris yang mirip dengan ini:

"containerProperties": { "vcpus": 2 }

Garis ekivalen resourceRequirements yang digunakan adalah sebagai berikut.

"containerProperties": { "resourceRequirements": [ { "type": "VCPU", "value": "2" } ] }

Jenis: Integer

Wajib: Ya

volumes

Ketika mendaftarkan ketentuan tugas, Anda dapat menentukan daftar volume yang disampaikan ke daemon Docker di instans kontainer. Parameter berikut diperbolehkan dalam properti kontainer:

"volumes": [ { "name": "string", "host": { "sourcePath": "string" }, "efsVolumeConfiguration": { "authorizationConfig": { "accessPointId": "string", "iam": "string" }, "fileSystemId": "string", "rootDirectory": "string", "transitEncryption": "string", "transitEncryptionPort": number } } ]
name

Nama volume. Maksimum 255 huruf (huruf besar dan huruf kecil), angka, tanda hubung, dan garis bawah diperbolehkan. Nama ini direferensikan dalam parameter sourceVolume dari ketentuan kontainer mountPoints.

Tipe: String

Wajib: Tidak

host

Isi dari parameter host menentukan apakah volume data Anda tetap di instans kontainer host atau tidak dan di mana itu disimpan. Jika parameter host kosong, daemon Docker menetapkan jalur host untuk volume data Anda. Namun, data tidak dijamin bertahan setelah kontainer yang terkait dengannya berhenti berjalan.

catatan

Parameter ini tidak berlaku untuk pekerjaan yang berjalan di sumber daya Fargate.

Tipe: Objek

Wajib: Tidak

sourcePath

Jalur di instans kontainer host yang disajikan untuk kontainer. Jika parameter ini kosong, daemon Docker akan menetapkan jalur host untuk Anda.

Jika parameter host berisi lokasi file sourcePath, volume data akan tetap di lokasi yang ditentukan di instans kontainer host sampai Anda menghapusnya secara manual. Jika nilai sourcePath tidak ada di instans kontainer host, daemon Docker akan membuatnya. Jika lokasi ada, konten folder jalur sumber akan diekspor.

Tipe: String

Wajib: Tidak

efsVolumeConfiguration

Parameter ini ditentukan ketika Anda menggunakan sistem file Amazon Elastic File System untuk penyimpanan tugas. Untuk informasi selengkapnya, lihat EFSVolume Amazon.

Tipe: Objek

Wajib: Tidak

authorizationConfig

Detail konfigurasi otorisasi untuk sistem EFS file Amazon.

Tipe: String

Wajib: Tidak

accessPointId

ID EFS jalur akses Amazon untuk digunakan. Jika jalur akses ditentukan, nilai direktori asal yang ditentukan di EFSVolumeConfiguration harus diabaikan atau diatur ke /. Ini memberlakukan jalur yang ditetapkan pada titik EFS akses. Jika titik akses digunakan, enkripsi transit harus diaktifkan di EFSVolumeConfiguration. Untuk informasi selengkapnya, lihat Bekerja dengan Amazon EFS Access Points di Panduan Pengguna Amazon Elastic File System.

Tipe: String

Wajib: Tidak

iam

Menentukan apakah akan menggunakan IAM peran AWS Batch pekerjaan yang ditentukan dalam definisi pekerjaan saat memasang sistem EFS file Amazon. Jika diaktifkan, enkripsi transit harus diaktifkan di EFSVolumeConfiguration. Jika parameter ini diabaikan, nilai default DISABLED akan digunakan. Untuk informasi selengkapnya, lihat Gunakan titik EFS akses Amazon.

Tipe: String

Nilai yang valid: ENABLED | DISABLED

Wajib: Tidak

fileSystemId

ID sistem EFS file Amazon untuk digunakan.

Tipe: String

Wajib: Tidak

rootDirectory

Direktori dalam sistem EFS file Amazon untuk dipasang sebagai direktori root di dalam host. Jika parameter ini dihilangkan, root EFS volume Amazon digunakan. Jika Anda menentukan /, efeknya akan sama seperti menghilangkan parameter ini. Panjang maksimum adalah 4.096 karakter.

penting

Jika titik EFS akses ditentukan dalamauthorizationConfig, parameter direktori root harus dihilangkan atau diatur ke. / Ini memberlakukan jalur yang ditetapkan pada jalur EFS akses Amazon.

Tipe: String

Wajib: Tidak

transitEncryption

Menentukan apakah akan mengaktifkan enkripsi untuk EFS data Amazon dalam perjalanan antara ECS host Amazon dan EFS server Amazon. Enkripsi transit harus diaktifkan jika EFS IAM otorisasi Amazon digunakan. Jika parameter ini diabaikan, nilai default DISABLED akan digunakan. Untuk informasi lebih lanjut, lihat Mengenkripsi data saat transit dalam Panduan Pengguna Amazon Elastic File System.

Tipe: String

Nilai yang valid: ENABLED | DISABLED

Wajib: Tidak

transitEncryptionPort

Port yang digunakan saat mengirim data terenkripsi antara ECS host Amazon dan server AmazonEFS. Jika Anda tidak menentukan port enkripsi transit, port ini menggunakan strategi pemilihan port yang digunakan oleh Amazon EFS mount helper. Nilainya harus antara 0 dan 65.535. Untuk informasi selengkapnya, lihat EFSMount Helper di Panduan Pengguna Amazon Elastic File System.

Tipe: Integer

Wajib: Tidak

EKSProperti Amazon

Objek dengan berbagai properti yang khusus untuk pekerjaan EKS berbasis Amazon. Ini tidak boleh ditentukan untuk definisi pekerjaan ECS berbasis Amazon.

podProperties

Properti untuk Kubernetes sumber daya pod dari suatu pekerjaan.

Tipe: Objek EksPodProperties

Wajib: Tidak

containers

Properti wadah yang digunakan pada EKS pod Amazon.

Tipe: Objek EksContainer

Wajib: Tidak

args

Sebuah array argumen ke entrypoint. Jika ini tidak ditentukan, gambar CMD kontainer digunakan. Ini sesuai dengan args anggota di bagian Entrypoint dari Pod di Kubernetes. Referensi variabel lingkungan diperluas menggunakan lingkungan wadah.

Jika variabel lingkungan yang direferensikan tidak ada, referensi dalam perintah tidak diubah. Misalnya, jika referensinya adalah $(NAME1) "" dan variabel NAME1 lingkungan tidak ada, string perintah akan tetap "$(NAME1).” $$diganti dengan$, dan string yang dihasilkan tidak diperluas. Misalnya, $$(VAR_NAME) diteruskan sebagai $(VAR_NAME) apakah variabel VAR_NAME lingkungan ada atau tidak. Untuk informasi selengkapnya, lihat CMDdi referensi Dockerfile dan Mendefinisikan perintah dan argumen untuk sebuah pod di Kubernetes dokumentasi.

Tipe: Array string

Wajib: Tidak

command

Titik masuk untuk wadah. Ini tidak dijalankan di dalam shell. Jika ini tidak ditentukan, gambar ENTRYPOINT kontainer digunakan. Referensi variabel lingkungan diperluas menggunakan lingkungan wadah.

Jika variabel lingkungan yang direferensikan tidak ada, referensi dalam perintah tidak diubah. Misalnya, jika referensinya adalah $(NAME1) "" dan variabel NAME1 lingkungan tidak ada, string perintah akan tetap "$(NAME1).” $$diganti dengan $ dan string yang dihasilkan tidak diperluas. Misalnya, $$(VAR_NAME) akan diteruskan sebagai $(VAR_NAME) apakah variabel VAR_NAME lingkungan ada atau tidak. Entrypoint tidak dapat diperbarui. Untuk informasi selengkapnya, lihat ENTRYPOINTdi referensi Dockerfile dan Mendefinisikan perintah dan argumen untuk wadah dan Entrypoint di Kubernetes dokumentasi.

Tipe: Array string

Wajib: Tidak

env

Variabel lingkungan untuk disampaikan ke kontainer.

catatan

Variabel lingkungan tidak dapat dimulai dengan "AWS_BATCH”. Konvensi penamaan ini dicadangkan untuk variabel yang AWS Batch menetapkan.

Tipe: Array objek EksContainerEnvironmentVariable

Wajib: Tidak

name

Nama variabel lingkungan.

Tipe: String

Diperlukan: Ya

value

Nilai dari variabel lingkungan.

Tipe: String

Wajib: Tidak

image

Gambar Docker digunakan untuk memulai wadah.

Tipe: String

Diperlukan: Ya

imagePullPolicy

Kebijakan tarik gambar untuk wadah. Nilai yang didukung adalah Always, IfNotPresent, dan Never. Parameter ini menjadi default ke IfNotPresent. Namun, jika :latest tag ditentukan, defaultnya. Always Untuk informasi selengkapnya, lihat Memperbarui gambar di Kubernetes dokumentasi.

Tipe: String

Wajib: Tidak

name

Nama kontainer. Jika nama tidak ditentukan, nama default "Default" digunakan. Setiap kontainer dalam pod harus memiliki nama yang unik.

Tipe: String

Wajib: Tidak

resources

Jenis dan jumlah sumber daya untuk ditugaskan ke kontainer. Sumber daya yang didukung mencakup memory, cpu, dan nvidia.com/gpu. Untuk informasi selengkapnya, lihat Manajemen sumber daya untuk pod dan container di Kubernetes dokumentasi.

Tipe: Objek EksContainerResourceRequirements

Wajib: Tidak

limits

Jenis dan jumlah sumber daya yang akan dicadangkan untuk wadah. Nilai bervariasi berdasarkan name yang ditentukan. Sumber daya dapat diminta menggunakan objek limits atau requests objek.

memori

Batas keras memori (dalam MiB) untuk wadah, menggunakan seluruh bilangan bulat, dengan akhiran “Mi”. Jika kontainer Anda mencoba untuk melampaui memori yang ditentukan, kontainer akan dimatikan. Anda harus menentukan setidaknya 4 MiB memori untuk suatu pekerjaan. memorydapat ditentukan dalamlimits,requests, atau keduanya. Jika memory ditentukan di kedua tempat, maka nilai yang ditentukan limits harus sama dengan nilai yang ditentukan dalamrequests.

catatan

Untuk memaksimalkan pemanfaatan sumber daya Anda, berikan pekerjaan Anda memori sebanyak mungkin untuk jenis instance tertentu yang Anda gunakan. Untuk mempelajari caranya, lihat Menghitung manajemen memori sumber daya.

cpu

Jumlah CPUs yang disediakan untuk wadah. Nilai harus kelipatan genap dari0.25. cpudapat ditentukan dalamlimits,requests, atau keduanya. Jika cpu ditentukan di kedua tempat, maka nilai yang ditentukan limits harus setidaknya sebesar nilai yang ditentukan dalamrequests.

nvidia.com/gpu

Jumlah GPUs yang disediakan untuk wadah. Nilai harus berupa bilangan bulat utuh. memorydapat ditentukan dalamlimits,requests, atau keduanya. Jika memory ditentukan di kedua tempat, maka nilai yang ditentukan limits harus sama dengan nilai yang ditentukan dalamrequests.

Tipe: Peta string ke string

Batasan Panjang Nilai: Panjang minimum 1. Panjang maksimum 256.

Wajib: Tidak

requests

Jenis dan jumlah sumber daya untuk meminta wadah. Nilai bervariasi berdasarkan name yang ditentukan. Sumber daya dapat diminta dengan menggunakan salah satu limits atau requests objek.

memori

Batas keras memori (dalam MiB) untuk wadah, menggunakan seluruh bilangan bulat, dengan akhiran “Mi”. Jika kontainer Anda mencoba untuk melampaui memori yang ditentukan, kontainer akan dimatikan. Anda harus menentukan setidaknya 4 MiB memori untuk suatu pekerjaan. memorydapat ditentukan dalamlimits,requests, atau keduanya. Jika memory ditentukan di keduanya, maka nilai yang ditentukan limits harus sama dengan nilai yang ditentukan dalamrequests.

catatan

Jika Anda mencoba memaksimalkan pemanfaatan sumber daya dengan menyediakan memori sebanyak mungkin bagi tugas untuk tipe instans tertentu, lihat Menghitung manajemen memori sumber daya.

cpu

Jumlah CPUs yang dicadangkan untuk wadah. Nilai harus kelipatan genap dari0.25. cpudapat ditentukan dalamlimits,requests, atau keduanya. Jika cpu ditentukan dalam keduanya, maka nilai yang ditentukan dalam limits harus setidaknya sebesar nilai yang ditentukan dalamrequests.

nvidia.com/gpu

Jumlah GPUs yang dicadangkan untuk wadah. Nilai harus berupa bilangan bulat utuh. nvidia.com/gpudapat ditentukan dalamlimits,requests, atau keduanya. Jika nvidia.com/gpu ditentukan di keduanya, maka nilai yang ditentukan limits harus sama dengan nilai yang ditentukan dalamrequests.

Tipe: Peta string ke string

Batasan Panjang Nilai: Panjang minimum 1. Panjang maksimum 256.

Wajib: Tidak

securityContext

Konteks keamanan untuk suatu pekerjaan. Untuk informasi selengkapnya, lihat Mengonfigurasi konteks keamanan untuk pod atau container di Kubernetes dokumentasi.

Tipe: Objek EksContainerSecurityContext

Wajib: Tidak

privileged

Ketika parameter initrue, penampung diberikan izin tinggi pada instance wadah host. Tingkat izin mirip dengan izin root pengguna. Nilai default-nya adalah false. Parameter ini memetakan ke privileged kebijakan dalam kebijakan keamanan pod Privileged di Kubernetes dokumentasi.

Tipe: Boolean

Wajib: Tidak

readOnlyRootFilesystem

Ketika parameter initrue, wadah diberikan akses read-only ke sistem file root nya. Nilai default-nya adalah false. Parameter ini memetakan ke ReadOnlyRootFilesystem kebijakan dalam kebijakan keamanan pod Volume dan sistem file di Kubernetes dokumentasi.

Tipe: Boolean

Wajib: Tidak

runAsGroup

Ketika parameter ini ditentukan, wadah dijalankan sebagai ID grup yang ditentukan (gid). Jika parameter ini tidak ditentukan, default adalah grup yang ditentukan dalam metadata gambar. Parameter ini memetakan ke RunAsGroup dan MustRunAs kebijakan dalam kebijakan keamanan pod Pengguna dan grup di Kubernetes dokumentasi.

Tipe: Panjang

Wajib: Tidak

runAsNonRoot

Ketika parameter ini ditentukan, wadah dijalankan sebagai pengguna dengan uid selain 0. Jika parameter ini tidak ditentukan, maka aturan tersebut diberlakukan. Parameter ini memetakan ke RunAsUser dan MustRunAsNonRoot kebijakan dalam kebijakan keamanan pod Pengguna dan grup di Kubernetes dokumentasi.

Tipe: Panjang

Wajib: Tidak

runAsUser

Ketika parameter ini ditentukan, wadah dijalankan sebagai ID pengguna yang ditentukan (uid). Jika parameter ini tidak ditentukan, default adalah pengguna yang ditentukan dalam metadata gambar. Parameter ini memetakan ke RunAsUser dan MustRanAs kebijakan dalam kebijakan keamanan pod Pengguna dan grup di Kubernetes dokumentasi.

Tipe: Panjang

Wajib: Tidak

volumeMounts

Volume dipasang untuk wadah untuk EKS pekerjaan Amazon. Untuk informasi lebih lanjut tentang volume dan volume mount di Kubernetes, lihat Volume di Kubernetes dokumentasi.

Tipe: Array objek EksContainerVolumeMount

Wajib: Tidak

mountPath

Jalur pada wadah tempat volume dipasang.

Tipe: String

Wajib: Tidak

name

Nama volume mount. Ini harus cocok dengan nama salah satu volume di pod.

Tipe: String

Wajib: Tidak

readOnly

Jika nilai ini adalah true, kontainer memiliki akses hanya-baca ke volume. Jika tidak, kontainer bisa menulis ke volume. Nilai default-nya adalah false.

Tipe: Boolean

Wajib: Tidak

dnsPolicy

DNSKebijakan untuk pod. Nilai default-nya adalah ClusterFirst. Jika hostNetwork parameter tidak ditentukan, defaultnya adalahClusterFirstWithHostNet. ClusterFirstmenunjukkan bahwa DNS kueri apa pun yang tidak cocok dengan akhiran domain cluster yang dikonfigurasi diteruskan ke server nama hulu yang diwarisi dari node. Jika tidak ada nilai yang ditentukan untuk dnsPolicy dalam RegisterJobDefinitionAPIoperasi, maka tidak ada nilai yang dikembalikan dnsPolicy oleh salah satu dari DescribeJobDefinitionsatau DescribeJobsAPIoperasi. Pengaturan spesifikasi pod akan berisi salah satu ClusterFirst atauClusterFirstWithHostNet, tergantung pada nilai hostNetwork parameternya. Untuk informasi selengkapnya, lihat DNSkebijakan Pod di Kubernetes dokumentasi.

Nilai yang valid: Default | ClusterFirst | ClusterFirstWithHostNet

Tipe: String

Wajib: Tidak

hostNetwork

Menunjukkan apakah pod menggunakan alamat IP jaringan host. Nilai default-nya adalah true. Menyetel ini untuk false mengaktifkan Kubernetes model jaringan pod. Sebagian besar AWS Batch beban kerja hanya untuk egress-only dan tidak memerlukan overhead alokasi IP untuk setiap pod untuk koneksi yang masuk. Untuk informasi selengkapnya, lihat Ruang nama host dan jaringan Pod di Kubernetes dokumentasi.

Tipe: Boolean

Wajib: Tidak

serviceAccountName

Nama akun layanan yang digunakan untuk menjalankan pod. Untuk informasi selengkapnya, silakan lihat Kubernetes akun layanan dan Konfigurasikan Kubernetes akun layanan untuk IAM berperan dalam Panduan EKS Pengguna Amazon dan Mengonfigurasi akun layanan untuk pod di Kubernetes dokumentasi.

Tipe: String

Wajib: Tidak

volumes

Menentukan volume untuk definisi pekerjaan yang menggunakan EKS sumber daya Amazon.

Tipe: Array objek EksVolume

Wajib: Tidak

emptyDir

Menentukan konfigurasi Kubernetes emptyDirvolume. emptyDirVolume pertama kali dibuat ketika sebuah pod ditugaskan ke sebuah node. Itu ada selama pod itu berjalan pada node itu. emptyDirVolume awalnya kosong. Semua kontainer dalam pod dapat membaca dan menulis file dalam emptyDir volume. Namun, emptyDir volume dapat dipasang pada jalur yang sama atau berbeda di setiap wadah. Ketika sebuah pod dihapus dari node karena alasan apa pun, data di dalamnya akan dihapus emptyDir secara permanen. Untuk informasi lebih lanjut, lihat emptyDirdi Kubernetes dokumentasi.

Tipe: Objek EksEmptyDir

Wajib: Tidak

medium

Media untuk menyimpan volume. Nilai default adalah string kosong, yang menggunakan penyimpanan node.

""

(Default) Gunakan penyimpanan disk node.

“Memori”

Gunakan tmpfs volume yang didukung oleh RAM node. Isi volume hilang saat node reboot, dan penyimpanan apa pun pada volume dihitung terhadap batas memori kontainer.

Tipe: String

Wajib: Tidak

sizeLimit

Ukuran maksimum volume. Secara default, tidak ada ukuran maksimum yang ditentukan.

Tipe: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 256.

Wajib: Tidak

hostPath

Menentukan konfigurasi Kubernetes hostPathvolume. hostPathVolume memasang file atau direktori yang ada dari sistem file node host ke dalam pod Anda. Untuk informasi lebih lanjut, lihat hostPathdi Kubernetes dokumentasi.

Tipe: Objek EksHostPath

Wajib: Tidak

path

Jalur file atau direktori pada host untuk dipasang ke kontainer pada pod.

Tipe: String

Wajib: Tidak

name

Nama volume. Nama harus diizinkan sebagai nama DNS subdomain. Untuk informasi selengkapnya, lihat nama DNS subdomain di Kubernetes dokumentasi.

Tipe: String

Diperlukan: Ya

Rahasia

Menentukan konfigurasi Kubernetes secretvolume. Untuk informasi lebih lanjut, lihat rahasia di Kubernetes dokumentasi.

Tipe: Objek EksSecret

Wajib: Tidak

opsional

Menentukan apakah rahasia atau kunci rahasia harus didefinisikan.

Tipe: Boolean

Wajib: Tidak

secretName

Nama rahasia. Nama harus diizinkan sebagai nama DNS subdomain. Untuk informasi selengkapnya, lihat nama DNS subdomain di Kubernetes dokumentasi.

Tipe: String

Diperlukan: Ya

Kemampuan platform

platformCapabilities

Kemampuan platform yang diperlukan oleh ketentuan tugas. Jika tidak ada nilai yang ditentukan, default-nya adalah EC2. Untuk tugas yang berjalan di sumber daya Fargate, nilainya adalah FARGATE.

catatan

Jika pekerjaan berjalan pada EKS sumber daya Amazon, maka Anda tidak boleh menentukanplatformCapabilities.

Tipe: String

Nilai yang valid: EC2 | FARGATE

Wajib: Tidak

Propagasi tanda

propagateTags

Menentukan apakah akan menyebarkan tag dari pekerjaan atau definisi pekerjaan ke tugas Amazon ECS yang sesuai. Jika tidak ada nilai yang ditentukan, tanda tidak dipropagasi. Tanda hanya dapat dipropagasi ke tugas ketika tugas dibuat. Untuk tanda dengan nama yang sama, tanda tugas diprioritaskan daripada tanda ketentuan tugas. Jika jumlah total tanda gabungan dari tugas dan ketentuan tugas lebih dari 50, tugas dipindahkan ke status FAILED.

catatan

Jika pekerjaan berjalan pada EKS sumber daya Amazon, maka Anda tidak boleh menentukanpropagateTags.

Tipe: Boolean

Wajib: Tidak

Properti simpul

nodeProperties

Ketika mendaftarkan ketentuan tugas paralel multisimpul, Anda harus menentukan daftar properti simpul. Properti node ini menentukan jumlah node yang akan digunakan dalam pekerjaan Anda, indeks node utama, dan rentang node yang berbeda untuk digunakan. Jika tugas berjalan di sumber daya Fargate, Anda tidak dapat menentukan nodeProperties. Sebaliknya, gunakan containerProperties. Properti simpul berikut diperbolehkan dalam ketentuan tugas. Untuk informasi selengkapnya, lihat Tugas paralel multisimpul.

catatan

Jika pekerjaan berjalan pada EKS sumber daya Amazon, maka Anda tidak boleh menentukannodeProperties.

Tipe: Objek NodeProperties

Wajib: Tidak

mainNode

Menentukan indeks simpul untuk simpul utama dari tugas paralel multisimpul. Nilai indeks simpul ini harus lebih kecil dari jumlah simpul.

Jenis: Integer

Wajib: Ya

numNodes

Jumlah simpul yang terkait dengan tugas paralel multisimpul.

Jenis: Integer

Wajib: Ya

nodeRangeProperties

Daftar rentang simpul dan propertinya yang terkait dengan tugas paralel multisimpul.

catatan

Grup node adalah grup node pekerjaan yang identik yang semuanya berbagi properti kontainer yang sama. Anda dapat menggunakan AWS Batch untuk menentukan hingga lima grup node yang berbeda untuk setiap pekerjaan.

Tipe: Array objek NodeRangeProperty

Wajib: Ya

targetNodes

Rentang simpul, menggunakan nilai indeks simpul. Rentang 0:3 menunjukkan simpul dengan nilai indeks dari 0 sampai 3. Jika nilai rentang awal dihilangkan (:n), maka 0 digunakan untuk memulai rentang. Jika nilai akhir rentang diabaikan (n:), indeks simpul tertinggi akan digunakan untuk mengakhiri rentang. Rentang simpul akumulatif Anda harus memperhitungkan semua simpul (0:n). Anda dapat membuat nest rentang simpul, misalnya 0:10 dan 4:5. Untuk kasus ini, properti rentang 4:5 akan menggantikan properti 0:10.

Tipe: String

Wajib: Tidak

container

Detail kontainer untuk rentang simpul. Untuk informasi selengkapnya, lihat Properti kontainer.

Tipe: Objek ContainerProperties

Wajib: Tidak

Strategi percobaan kembali

retryStrategy

Ketika mendaftarkan ketentuan tugas, secara opsional Anda dapat menentukan strategi percobaan kembali yang akan digunakan untuk tugas gagal yang dikirimkan dengan ketentuan tugas ini. Strategi coba lagi apa pun yang ditentukan selama SubmitJoboperasi mengesampingkan strategi coba lagi yang ditentukan di sini. Secara default, setiap tugas dicoba satu kali. Jika Anda menentukan lebih dari satu upaya, tugas akan dicoba lagi jika gagal. Contoh upaya yang gagal antara lain tugas yang mengembalikan kode keluar bukan nol atau instans kontainer yang diakhiri. Untuk informasi selengkapnya, lihat Percobaan kembali tugas secara otomatis.

Tipe: Objek RetryStrategy

Wajib: Tidak

attempts

Jumlah upaya untuk memindahkan tugas ke status RUNNABLE. Anda dapat menentukan antara 1 sampai 10 upaya. Jika attempts lebih besar dari satu, tugas akan dicoba lagi sebanyak jumlah tersebut jika gagal, sampai tugas berpindah ke RUNNABLE.

"attempts": integer

Tipe: Integer

Wajib: Tidak

evaluateOnExit

Array hingga 5 objek yang menentukan kondisi di mana pekerjaan dicoba ulang atau gagal. Jika parameter ini ditentukan, maka attempts parameter juga harus ditentukan. Jika evaluateOnExit ditentukan tetapi tidak ada entri yang cocok, maka pekerjaan tersebut dicoba lagi.

"evaluateOnExit": [ { "action": "string", "onExitCode": "string", "onReason": "string", "onStatusReason": "string" } ]

Tipe: Array objek EvaluateOnExit

Wajib: Tidak

action

Menentukan tindakan yang akan diambil jika semua syarat yang ditentukan (onStatusReason, onReason, dan onExitCode) terpenuhi. Nilai ini tidak peka huruf besar dan kecil.

Tipe: String

Diperlukan: Ya

Nilai yang valid: RETRY | EXIT

onExitCode

Berisi pola glob untuk dicocokkan dengan representasi desimal dari ExitCode yang dikembalikan untuk tugas. Pola dapat memiliki panjang hingga 512 karakter. Ini hanya bisa berisi angka. Ini tidak dapat berisi huruf atau karakter khusus. Ini secara opsional dapat diakhiri dengan tanda bintang (*) sehingga hanya awal string yang harus sama persis.

Tipe: String

Wajib: Tidak

onReason

Berisi pola glob untuk dicocokkan dengan Reason yang dikembalikan untuk tugas. Pola dapat memiliki panjang hingga 512 karakter. Ini dapat berisi huruf, angka, titik (.), titik dua (:), dan spasi kosong (spasi, tab). Ini secara opsional dapat diakhiri dengan tanda bintang (*) sehingga hanya awal string yang harus sama persis.

Tipe: String

Wajib: Tidak

onStatusReason

Berisi pola glob untuk dicocokkan dengan StatusReason yang dikembalikan untuk tugas. Pola dapat memiliki panjang hingga 512 karakter. Ini dapat berisi huruf, angka, titik (.), titik dua (:), dan spasi kosong (spasi, tab). Ini secara opsional dapat diakhiri dengan tanda bintang (*) sehingga hanya awal string yang harus sama persis.

Tipe: String

Wajib: Tidak

Prioritas penjadwalan

schedulingPriority

Prioritas penjadwalan untuk pekerjaan yang diserahkan dengan definisi pekerjaan ini. Ini hanya memengaruhi pekerjaan dalam antrian pekerjaan dengan kebijakan pembagian yang adil. Pekerjaan dengan prioritas penjadwalan yang lebih tinggi dijadwalkan sebelum pekerjaan dengan prioritas penjadwalan yang lebih rendah.

Nilai minimum yang didukung adalah 0 dan nilai maksimum yang didukung adalah 9999.

Tipe: Integer

Wajib: Tidak

Tanda

tags

Tanda pasangan kunci-nilai untuk dikaitkan dengan ketentuan tugas. Untuk informasi selengkapnya, lihat Tandai AWS Batch sumber daya Anda.

Tipe: Peta antar string

Wajib: Tidak

Waktu habis

timeout

Anda dapat mengonfigurasi durasi batas waktu untuk pekerjaan Anda sehingga jika pekerjaan berjalan lebih lama dari itu, AWS Batch mengakhiri pekerjaan. Untuk informasi selengkapnya, lihat Batas waktu Job. Jika pekerjaan dihentikan karena batas waktu, itu tidak dicoba lagi. Konfigurasi batas waktu apa pun yang ditentukan selama SubmitJoboperasi akan mengganti konfigurasi batas waktu yang ditentukan di sini. Untuk informasi selengkapnya, lihat Batas waktu Job.

Tipe: Objek JobTimeout

Wajib: Tidak

attemptDurationSeconds

Durasi waktu dalam detik (diukur dari stempel waktu startedAt upaya tugas) setelah AWS Batch mengakhiri tugas yang belum selesai. Nilai minimum untuk timeout adalah 60 detik.

Untuk pekerjaan array, batas waktu berlaku untuk pekerjaan anak, bukan untuk pekerjaan array induk.

Untuk pekerjaan paralel (MNP) multi-node, batas waktu berlaku untuk seluruh pekerjaan, bukan untuk masing-masing node.

Tipe: Integer

Wajib: Tidak