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.

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 itu

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

  • 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 Membuat ketentuan tugas paralel multisimpul.

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 sesuai dengan Cmd di bagian Buat kontainer di Docker Remote API dan parameter COMMAND untuk docker run. Untuk informasi lebih lanjut tentang parameter CMD 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 sesuai dengan Env di bagian Buat kontainer di Docker Remote API dan opsi --env 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.

Jenis: String

Wajib: Ya, ketika environment digunakan.

value

Nilai variabel lingkungan.

Jenis: String

Wajib: Ya, ketika environment digunakan.

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

Ketika mendaftarkan ketentuan tugas, Anda dapat menentukan IAM role. Peran tersebut memberikan izin kepada agen kontainer Amazon ECS untuk memanggil tindakan API yang ditentukan dalam kebijakannya yang terkait atas nama Anda. Pekerjaan yang berjalan pada sumber daya Fargate harus memberikan peran eksekusi. Untuk informasi selengkapnya, lihat AWS Batch eksekusi peran IAM.

Tipe: String

Wajib: Tidak

fargatePlatformConfiguration

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

Jenis: Objek FargatePlatformkonfigurasi

Wajib: Tidak

platformVersion

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

Jenis: 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 sesuai dengan Image di bagian Buat kontainer di Docker Remote API dan IMAGE parameter docker run.

catatan

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

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

  • Gambar di repositori Amazon ECR menggunakan konvensi penamaan registry/repository:[tag] 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

Ketika mendaftarkan ketentuan tugas, Anda dapat menentukan IAM role. Peran tersebut memberikan izin kepada kontainer tugas untuk memanggil tindakan API yang ditentukan dalam kebijakannya yang terkait atas nama Anda. Untuk informasi lebih lanjut, lihat IAM Role untuk Tugas dalam Panduan Developer Amazon Elastic Container Service.

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 sesuai dengan Devices di bagian Buat kontainer di Docker Remote API dan opsi --device 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 API versi 1.25 atau lebih besar di instans kontainer Anda. Untuk memeriksa versi Docker Remote API di instans kontainer Anda, masuk ke instans kontainer 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

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

  • Parameter ruang tukar hanya didukung untuk ketentuan tugas yang menggunakan sumber daya EC2.

  • 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 pemasangan tmpfs.

Tipe: Array objek Tmpfs

catatan

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

Wajib: Tidak

containerPath

Jalur file absolut dalam kontainer tempat volume tmpfs terpasang.

Tipe: String

Diperlukan: Ya

mountOptions

Daftar opsi pemasangan volume tmpfs.

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) volume tmpfs.

Jenis: Integer

Wajib: Ya

logConfiguration

Spesifikasi konfigurasi log untuk tugas.

Parameter ini sesuai dengan LogConfig di bagian Buat kontainer di Docker Remote API dan opsi --log-driver 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 Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda. Untuk memeriksa versi Docker Remote API pada instans kontainer Anda, masuk ke instans kontainer 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 penampung Amazon ECS secara default.

Parameter ini sesuai dengan LogConfig di bagian Buat kontainer di Docker Remote API dan opsi --log-driver 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 mendatang agen kontainer Amazon ECS.

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 Docker Remote API versi 1.18 atau lebih besar pada instans kontainer Anda. Untuk memeriksa versi Docker Remote API pada instans kontainer Anda, masuk ke instans kontainer Anda dan jalankan perintah berikut: sudo docker version | grep "Server API version"

catatan

Agen penampung Amazon ECS 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 lebih lanjut, lihat, Konfigurasi Agen Kontainer Amazon ECS dalam Panduan Developer Amazon Elastic Container Service.

awslogs

Menentukan driver logging Amazon CloudWatch Logs. Untuk informasi selengkapnya, lihat Menggunakan 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 pencatatan 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 pencatatan file JSON. Untuk informasi selengkapnya termasuk penggunaan dan opsi, lihat Driver logging File JSON 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 kontainer Amazon ECS, Anda dapat melakukan fork proyek agen kontainer Amazon ECS 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 Docker Remote API versi 1.19 atau lebih besar di instans kontainer Anda.

Tipe: Peta antar string

Wajib: Tidak

secretOptions

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

Tipe: array objek

Wajib: Tidak

name

Nama opsi driver log yang akan ditetapkan dalam tugas.

Tipe: String

Diperlukan: Ya

valueFrom

Nama Sumber Daya Amazon (ARN) dari rahasia untuk mengekspos ke konfigurasi log wadah. Nilai yang didukung adalah ARN lengkap dari rahasia Secrets Manager atau ARN lengkap dari parameter di SSM Parameter Store.

catatan

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

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 sesuai dengan Volumes di bagian Buat kontainer di Docker Remote API dan opsi --volume untuk docker run.

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

Tipe: Array objek

Wajib: Tidak

sourceVolume

Nama volume yang akan dipasang.

Jenis: String

Wajib: Ya, ketika mountPoints digunakan.

containerPath

Path di kontainer tempat memasang volume host.

Jenis: 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. Tugas yang berjalan pada sumber daya EC2 tidak harus 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 sesuai dengan Privileged di bagian Buat kontainer di Docker Remote API dan opsi --privileged 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 sesuai dengan ReadonlyRootfs di bagian Buat kontainer di Docker Remote API dan opsi --read-only 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.

Jenis: String

Wajib: Ya, ketika resourceRequirements digunakan.

value

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

type="GPU"

Jumlah GPU fisik yang akan disimpan untuk kontainer. Jumlah GPU yang dicadangkan untuk semua kontainer dalam suatu pekerjaan tidak dapat melebihi jumlah GPU yang tersedia 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 sesuai dengan Memory di bagian Buat kontainer di Docker Remote API dan opsi --memory untuk docker run. Anda harus menentukan sedikitnya 4 MiB memori untuk sebuah tugas. Hal ini wajib, tetapi dapat ditentukan di beberapa tempat untuk tugas paralel multisimpul (MNP). Ini harus ditentukan untuk setiap simpul setidaknya satu kali. Parameter ini sesuai dengan Memory di bagian Buat kontainer di Docker Remote API dan opsi --memory untuk docker run.

catatan

Jika Anda mencoba memaksimalkan pemanfaatan sumber daya dengan menyediakan memori sebanyak mungkin bagi tugas untuk tipe instans tertentu, lihat Manajemen Memori Sumber Daya Komputasi.

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 vCPU

512, 1024, dan 2048 MiB

0,5 vCPU

1024-4096 MiB dalam peningkatan 1024 MiB

1 vCPU

2048-8192 MiB dalam peningkatan 1024 MiB

2 vCPU

4096-16384 MiB dalam peningkatan 1024 MiB

4 vCPU

8192-30720 MiB dengan peningkatan 1024 MiB

8 vCPU

16384-61440 MiB dengan peningkatan 4096 MiB

16 vCPU

32768-122880 MiB dengan peningkatan 8192 MiB

tipe="VCPU"

Jumlah vCPUs yang disimpan untuk tugas. Parameter ini sesuai dengan CpuShares di bagian Buat kontainer di Docker Remote API dan opsi --cpu-shares untuk docker run. Setiap vCPU setara dengan 1.024 bagian CPU. Untuk pekerjaan yang berjalan pada sumber daya EC2, 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 VCPU tersebut. Nilai yang didukung adalah 0,25, 0,5, 1, 2, 4, 8, dan 16.

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

Jenis: String

Wajib: Ya, ketika resourceRequirements digunakan.

secrets

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

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

Tipe: Array objek

Wajib: Tidak

name

Nama variabel lingkungan yang berisi rahasia.

Jenis: String

Wajib: Ya, ketika secrets digunakan.

valueFrom

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

catatan

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

Jenis: String

Wajib: Ya, ketika secrets digunakan.

ulimits

Daftar nilai ulimits yang akan ditetapkan dalam kontainer. Parameter ini sesuai dengan Ulimits di bagian Buat kontainer di Docker Remote API dan opsi --ulimit untuk docker run.

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

Tipe: Array objek

Wajib: Tidak

name

Parameter type dari ulimit.

Jenis: 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 sesuai dengan User di bagian Buat kontainer di Docker Remote API dan opsi --user untuk docker run.

"user": "string"

Tipe: String

Wajib: Tidak

vcpus

Parameter ini sudah usang, gunakan sebagai gantinya. resourceRequirements

Jumlah vCPU yang disimpan untuk kontainer.

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

"containerProperties": { "vcpus": 2 }

Garis setara yang digunakan resourceRequirements 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 Volume Amazon EFS.

Tipe: Objek

Wajib: Tidak

authorizationConfig

Detail konfigurasi otorisasi untuk sistem file Amazon EFS.

Tipe: String

Wajib: Tidak

accessPointId

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

Tipe: String

Wajib: Tidak

iam

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

Tipe: String

Nilai yang valid: ENABLED | DISABLED

Wajib: Tidak

fileSystemId

ID sistem file Amazon EFS yang akan digunakan.

Tipe: String

Wajib: Tidak

rootDirectory

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

penting

Jika titik akses EFS ditentukan dalam authorizationConfig, parameter direktori asal harus diabaikan atau diatur ke /. Ini memberlakukan jalur yang ditetapkan di titik akses Amazon EFS.

Tipe: String

Wajib: Tidak

transitEncryption

Menentukan apakah akan mengaktifkan enkripsi untuk data Amazon EFS saat transit antara host Amazon ECS dan server Amazon EFS. Enkripsi transit harus diaktifkan jika otorisasi IAM Amazon EFS 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 akan digunakan saat mengirim data terenkripsi antara host Amazon ECS dan server Amazon EFS. Jika Anda tidak menentukan port enkripsi transit, strategi pemilihan port yang digunakan oleh pembantu pemasangan Amazon EFS akan digunakan. Nilai harus antara 0 dan 65.535. Untuk informasi lebih lanjut, lihat Pembantu Pemasangan EFS dalam Panduan Pengguna Amazon Elastic File System.

Tipe: Integer

Wajib: Tidak

Properti Amazon EKS

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

podProperties

Properti untuk sumber daya Kubernetes pod suatu pekerjaan.

Jenis: EksPodProperti objek

Wajib: Tidak

containers

Properti wadah yang digunakan pada pod Amazon EKS.

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 CMD di referensi Dockerfile dan Mendefinisikan perintah dan argumen untuk pod dalam dokumentasi. Kubernetes

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 ENTRYPOINT dalam referensi Dockerfile dan Mendefinisikan perintah dan argumen untuk wadah dan Entrypoint dalam dokumentasi. Kubernetes

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 dalam Kubernetesdokumentasi.

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 kontainer dalam Kubernetesdokumentasi.

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 Manajemen Memori Sumber Daya Komputasi.

cpu

Jumlah CPU 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 GPU yang dicadangkan 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 Manajemen Memori Sumber Daya Komputasi.

cpu

Jumlah CPU 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 GPU 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 wadah dalam Kubernetesdokumentasi.

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 dalam Kubernetesdokumentasi.

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 Volume dan sistem file pod dalam Kubernetesdokumentasi.

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 dalam Kubernetesdokumentasi.

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 dalam Kubernetesdokumentasi.

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 dalam Kubernetesdokumentasi.

Tipe: Panjang

Wajib: Tidak

volumeMounts

Volume dipasang untuk wadah untuk pekerjaan Amazon EKS. Untuk informasi selengkapnya tentang volume dan volume mountKubernetes, lihat Volume dalam Kubernetesdokumentasi.

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

Kebijakan DNS untuk pod. Nilai default-nya adalah ClusterFirst. Jika hostNetwork parameter tidak ditentukan, defaultnya adalahClusterFirstWithHostNet. ClusterFirstmenunjukkan bahwa kueri DNS 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 dnsPolicy dalam operasi API RegisterJobDefinisi, maka tidak ada nilai yang dikembalikan dnsPolicy oleh salah satu DescribeJobDefinisi atau operasi DescribeJobsAPI. Pengaturan spesifikasi pod akan berisi salah satu ClusterFirst atauClusterFirstWithHostNet, tergantung pada nilai hostNetwork parameternya. Untuk informasi selengkapnya, lihat kebijakan DNS Pod di Kubernetesdokumentasi.

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 model jaringan Kubernetes pod. Sebagian besar AWS Batch beban kerja hanya untuk egress-only dan tidak memerlukan overhead alokasi IP untuk setiap pod untuk koneksi masuk. Untuk informasi selengkapnya, lihat Ruang nama host dan jaringan Pod dalam dokumentasi. Kubernetes

Tipe: Boolean

Wajib: Tidak

serviceAccountName

Nama akun layanan yang digunakan untuk menjalankan pod. Untuk informasi selengkapnya, lihat akun Kubernetes layanan dan Mengonfigurasi akun Kubernetes layanan untuk mengambil peran IAM dalam Panduan Pengguna Amazon EKS dan Mengonfigurasi akun layanan untuk pod dalam Kubernetesdokumentasi.

Tipe: String

Wajib: Tidak

volumes

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

Tipe: Array objek EksVolume

Wajib: Tidak

kosongDir

Menentukan konfigurasi Kubernetes emptyDir volume. 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 selengkapnya, lihat emptyDir dalam dokumentasi. Kubernetes

Jenis: 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.

Jenis: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 256.

Wajib: Tidak

HostPath

Menentukan konfigurasi Kubernetes hostPath volume. hostPathVolume memasang file atau direktori yang ada dari sistem file node host ke dalam pod Anda. Untuk informasi selengkapnya, lihat HostPath dalam Kubernetesdokumentasi.

Jenis: Objek EksHostjalur

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 subdomain DNS. Untuk informasi selengkapnya, lihat nama subdomain DNS dalam dokumentasi. Kubernetes

Tipe: String

Diperlukan: Ya

Rahasia

Menentukan konfigurasi Kubernetes secret volume. Untuk informasi lebih lanjut, lihat rahasia dalam Kubernetesdokumentasi.

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 subdomain DNS. Untuk informasi selengkapnya, lihat nama subdomain DNS dalam dokumentasi. Kubernetes

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 sumber daya Amazon EKS, maka Anda tidak boleh menentukanplatformCapabilities.

Tipe: String

Nilai yang valid: EC2 | FARGATE

Wajib: Tidak

Propagasi tanda

propagateTags

Menentukan apakah akan mempropagasi tanda dari tugas atau ketentuan tugas 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 sumber daya Amazon EKS, 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 sumber daya Amazon EKS, 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.

Jenis: Array objek NodeRangeProperti

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. Setiap strategi coba lagi 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" } ]

Jenis: Array objek EvaluateOnKeluar

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 Menandai sumber daya AWS Batch 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 multi-node parallel (MNP), batas waktu berlaku untuk seluruh pekerjaan, bukan untuk masing-masing node.

Tipe: Integer

Wajib: Tidak