Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Référence : Paramètres de définition du job pour ContainerProperties
Les définitions de Job utilisées ContainerProperties
sont divisées en plusieurs parties :
le nom de la définition de tâche
le type de définition du poste
l'espace réservé par défaut pour la substitution de paramètres
les propriétés du conteneur pour la tâche
-
les EKS propriétés Amazon pour la définition des tâches qui sont nécessaires pour les tâches exécutées sur les EKS ressources Amazon
les propriétés du nœud nécessaires pour une tâche parallèle à nœuds multiples
les fonctionnalités de la plateforme nécessaires pour les tâches exécutées sur les ressources Fargate
les détails de propagation des balises par défaut de la définition de tâche
la stratégie de nouvelle tentative par défaut pour la définition de la tâche
la priorité de planification par défaut pour la définition de la tâche
les balises par défaut pour la définition de la tâche
le délai d'expiration par défaut pour la définition de la tâche
Table des matières
Nom de la définition du job
jobDefinitionName
-
Lorsque vous enregistrez une définition de tâche, vous indiquez un nom. Le nom peut comporter jusqu'à 128 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-) et des traits de soulignement (_). La première définition de tâche enregistrée sous ce nom reçoit une révision de 1. Toutes les définitions de tâches enregistrées avec ce nom par la suite se voient attribuer un numéro de révision incrémentiel.
Type : String
Obligatoire : oui
Type
type
-
Lorsque vous enregistrez une définition de tâche, vous indiquez le type de tâche. Si la tâche s'exécute sur les ressources Fargate, elle n'est pas prise en charge
multinode
. Pour plus d'informations sur les tâches parallèles à plusieurs nœuds, consultez Création d'une définition de tâche parallèle à nœuds multiples.Type : String
Valeurs valides :
container
|multinode
Obligatoire : oui
Paramètres
parameters
-
Lorsque vous soumettez une tâche, vous pouvez spécifier des paramètres qui remplacent les espaces réservés ou remplacent les paramètres de définition de tâche par défaut. Les paramètres de demandes de soumission de tâche prévalent sur les valeurs par défaut dans une définition de tâche. Cela signifie que vous pouvez utiliser la même définition de tâche pour plusieurs tâches utilisant le même format. Vous pouvez également modifier les valeurs de la commande par programmation au moment de l'envoi.
Type : mappage chaîne/chaîne
Obligatoire : non
Lorsque vous enregistrez une définition de tâche, vous pouvez utiliser les espaces réservés de substitution de paramètres dans le champ
command
des propriétés de conteneur de la tâche. La syntaxe est la suivante."command": [ "ffmpeg", "-i", "
Ref::inputfile
", "-c", "Ref::codec
", "-o", "Ref::outputfile
" ]Dans l'exemple ci-dessus, aucun espace réservé de substitution de paramètre
,Ref::inputfile
etRef::codec
n'est présent dans la commande. Vous pouvez utiliser l'Ref::outputfile
parameters
objet dans la définition de tâche pour définir des valeurs par défaut pour ces espaces réservés. Par exemple, pour définir une valeur par défaut pour l'espace réservé
, vous précisez les éléments suivants dans la définition de tâche :Ref::codec
"parameters" : {"codec" : "mp4"}
Lorsque cette définition de tâche est soumise pour être exécutée, l'
argument de la commande pour le conteneur est remplacé par la valeur par défaut,Ref::codec
mp4
.
Propriétés du contenant
Lorsque vous enregistrez une définition de tâche, spécifiez une liste de propriétés de conteneur qui sont transmises au démon Docker sur une instance de conteneur lorsque la tâche est placée. Les propriétés de conteneurs suivantes sont autorisées dans une définition de tâche. Pour les tâches à nœud unique, ces propriétés de conteneur sont définies au niveau de la définition de tâche. Pour les tâches parallèles à plusieurs nœuds, les propriétés de conteneur sont définies au niveau Propriétés du nœud, pour chaque groupe de nœuds.
command
-
La commande transmise au conteneur. Ce paramètre correspond
Cmd
à la section Créer un conteneurde Docker Remote API et le COMMAND
paramètre à docker run. Pour plus d'informations sur le CMD
paramètre Docker, consultez https://docs.docker.com/engine/reference/builder/#cmd. "command": ["
string
", ...]Type : tableau de chaînes
Obligatoire : non
environment
-
Variables d'environnement à transmettre à un conteneur. Ce paramètre correspond
Env
à la section Créer un conteneurde Docker Remote API et à l' --env
option de docker run. Important
Nous vous déconseillons d'utiliser des variables d'environnement en texte clair pour les informations sensibles, comme les données d'informations d'identification.
Note
Les variables d'environnement ne doivent pas commencer par
AWS_BATCH
. Cette convention de dénomination est réservée aux variables définies par le AWS Batch service.Type : tableau de paires clé-valeur
Obligatoire : non
name
-
Nom de la variable d'environnement.
Type : String
Obligatoire : oui lorsque
environment
est utilisé. value
-
Valeur de la variable d'environnement.
Type : String
Obligatoire : oui lorsque
environment
est utilisé.
"environment" : [ { "name" : "
envName1
", "value" : "envValue1
" }, { "name" : "envName2
", "value" : "envValue2
" } ] executionRoleArn
-
Lorsque vous enregistrez une définition de tâche, vous pouvez spécifier un IAM rôle. Le rôle fournit à l'agent de ECS conteneur Amazon l'autorisation d'appeler en votre nom les API actions spécifiées dans ses politiques associées. Les tâches exécutées sur les ressources Fargate doivent fournir un rôle d'exécution. Pour de plus amples informations, veuillez consulter Rôle d'exécution AWS Batch IAM.
Type : chaîne
Obligatoire : non
fargatePlatformConfiguration
-
Configuration de la plate-forme pour les tâches exécutées sur les ressources Fargate. Les tâches exécutées sur EC2 des ressources ne doivent pas spécifier ce paramètre.
Type : objet FargatePlatformConfiguration
Obligatoire : non
platformVersion
-
La version AWS de la plateforme Fargate utilisée pour les tâches,
LATEST
ou pour utiliser une version récente et approuvée de la AWS plateforme Fargate.Type : String
Par défaut:
LATEST
Obligatoire : non
image
-
L'image utilisée pour démarrer une tâche. Cette chaîne est transmise directement au démon Docker. Les images dans le registre Docker Hub sont disponibles par défaut. Vous pouvez également spécifier d'autres référentiels avec
. Il peut comporter jusqu'à 255 lettres (majuscules et minuscules), des chiffres, des tirets, des traits de soulignement, deux points, des points, des barres obliques et des signes dièse. Ce paramètre correspondrepository-url
/image
:tag
Image
à la section Créer un conteneurde Docker Remote API et au IMAGE
paramètre de docker run. Note
Docker l'architecture de l'image doit correspondre à l'architecture du processeur des ressources de calcul sur lesquelles elles sont planifiées. Par exemple, Arm basé Docker les images ne peuvent être exécutées que sur Arm ressources informatiques basées sur des ressources informatiques.
-
Les images stockées dans les référentiels Amazon ECR Public utilisent les conventions complètes
registry/repository[:tag]
ou deregistry/repository[@digest]
dénomination (par exemple,public.ecr.aws/
).registry_alias
/my-web-app
:latest
-
Les images stockées dans ECR les référentiels Amazon utilisent la convention de
registry/repository:[tag]
dénomination complète. Par exemple,aws_account_id
.dkr.ecr.region
.amazonaws.com/
.my-web-app
:latest
-
Les images dans les référentiels officiels sur Docker Hub utilisent un nom unique (par exemple,
ubuntu
oumongo
). -
Les images dans les autres référentiels sur Docker Hub sont qualifiées par un nom d'organisation (par exemple,
amazon/amazon-ecs-agent
). -
Les images dans les autres référentiels en ligne sont qualifiées par un nom de domaine (par exemple,
quay.io/assemblyline/ubuntu
).
Type : String
Obligatoire : oui
-
instanceType
-
Type d'instance à utiliser pour une tâche parallèle à plusieurs nœuds. Tous les groupes de nœuds dans une tâche parallèle à plusieurs nœuds doivent utiliser le même type d'instance. Ce paramètre n'est pas valide pour les tâches de conteneur à nœud unique ou pour les tâches exécutées sur des ressources Fargate.
Type : chaîne
Obligatoire : non
jobRoleArn
-
Lorsque vous enregistrez une définition de tâche, vous pouvez spécifier un IAM rôle. Le rôle fournit au conteneur de tâches l'autorisation d'appeler en votre nom les API actions spécifiées dans ses politiques associées. Pour plus d'informations, consultez la section IAMRôles des tâches dans le manuel Amazon Elastic Container Service Developer Guide.
Type : chaîne
Obligatoire : non
linuxParameters
-
Modifications spécifiques à Linux appliquées au conteneur, telles que les détails des mappages des appareils.
"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
}Type : objet LinuxParameters
Obligatoire : non
devices
-
Liste des appareils mappés au conteneur. Ce paramètre correspond
Devices
à la section Créer un conteneurde Docker Remote API et à l' --device
option DockerRun. Note
Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.
Type : tableau d'objets Périphérique
Obligatoire : non
hostPath
-
Chemin où se trouve le périphérique disponible dans l'instance de conteneur hôte.
Type : String
Obligatoire : oui
containerPath
-
Le chemin où l'appareil est exposé dans le conteneur se trouve. Si cela n'est pas spécifié, le périphérique est exposé sur le même chemin que le chemin de l'hôte.
Type : chaîne
Obligatoire : non
permissions
-
Autorisations pour l'appareil dans le conteneur. Si cela n'est pas spécifié, les autorisations sont définies sur
READ
WRITE
, etMKNOD
.Type : tableau de chaînes
Obligatoire : non
Valeurs valides :
READ
|WRITE
|MKNOD
initProcessEnabled
-
Si ce paramètre est défini sur « true », exécutez un processus
init
dans le conteneur afin de transmettre des signaux et de récolter les processus. Ce paramètre est mappé à l'option--init
de docker run. Ce paramètre nécessite la version 1.25 de Docker Remote API ou une version ultérieure sur votre instance de conteneur. Pour vérifier la API version de Docker Remote sur votre instance de conteneur, connectez-vous à votre instance de conteneur et exécutez la commande suivante : sudo docker version | grep "Server API version"
Type : booléen
Obligatoire : non
maxSwap
-
Quantité totale de mémoire d'échange (en MiB) qu'une tâche peut utiliser. Ce paramètre est converti en l'option
--memory-swap
de la commande docker run, où la valeur est la somme de la mémoire du conteneur plus la valeur maxSwap
. Pour plus d'informations, veuillez consulter les détails de--memory-swap
de la documentation Docker. Si la valeur
0
est spécifiée pourmaxSwap
, le conteneur n'utilise pas l'échange. Les valeurs acceptées sont0
ou n'importe quel nombre entier positif. Si lemaxSwap
paramètre est omis, le conteneur utilise la configuration d'échange pour l'instance de conteneur sur laquelle il s'exécute. Une valeurmaxSwap
doit être définie pour que le paramètreswappiness
soit utilisé.Note
Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.
Type : entier
Obligatoire : non
sharedMemorySize
-
Valeur correspondant à la taille (en Mio) du volume
/dev/shm
. Ce paramètre est mappé à l'option--shm-size
de docker run. Note
Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.
Type : entier
Obligatoire : non
swappiness
-
Vous pouvez utiliser ce paramètre pour régler le comportement d'échange de mémoire d'un conteneur.
swappiness
La valeur de0
empêche l'échange, sauf en cas d'absolue nécessité. Avec la valeurswappiness
pour100
, l'échange de pages a lieu de manière agressive. Les valeurs acceptées sont les nombres entiers compris entre0
et100
. Si le paramètreswappiness
n'est pas spécifié, la valeur par défaut60
est utilisée. Si aucune valeur n'est spécifiée pourmaxSwap
, le paramètre est ignoré. SimaxSwap
est défini sur 0, le conteneur n'a pas recours à l'échange. Ce paramètre est mappé à l'option--memory-swappiness
de docker run. Tenez compte des points suivants lorsque vous utilisez une configuration d'échange par conteneur.
-
L'espace d'échange doit être activé et alloué sur l'instance de conteneur pour que les conteneurs puissent l'utiliser.
Note
Le swap n'est AMIs pas activé par défaut sur les Amazon ECS optimisés. Vous devez activer l'échange sur l'instance pour utiliser cette fonction. Pour plus d'informations, consultez Instance Store Swap Volumes dans le guide de EC2 l'utilisateur Amazon ou Comment allouer de la mémoire pour qu'elle fonctionne comme espace de swap dans une EC2 instance Amazon à l'aide d'un fichier d'échange ?
. -
Les paramètres de l'espace d'échange ne sont pris en charge que pour les définitions de tâches utilisant EC2 des ressources.
-
Si les paramètres
maxSwap
etswappiness
sont omis d'une définition de tâche, chaque conteneur a une valeurswappiness
par défaut de 60. L'utilisation totale du swap est limitée à deux fois la réserve de mémoire du conteneur.
Note
Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.
Type : entier
Obligatoire : non
-
tmpfs
-
Le chemin du conteneur, les options de montage et la taille du tmpfs monture.
Type : tableau d'objets Tmpfs
Note
Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.
Obligatoire : non
containerPath
-
Le chemin de fichier absolu dans le conteneur où tmpfs le volume est monté.
Type : String
Obligatoire : oui
mountOptions
-
La liste des tmpfs options de montage du volume.
Valeurs valides : "
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
»Type : tableau de chaînes
Obligatoire : non
size
-
La taille (en MiB) du tmpfs volume.
Type : entier
Obligatoire : oui
logConfiguration
-
Spécification de configuration du journal pour la tâche.
Ce paramètre correspond
LogConfig
à la section Créer un conteneurde Docker Remote API et à l' --log-driver
option DockerRun. Par défaut, les conteneurs utilisent le même pilote de journalisation que celui utilisé par le démon Docker. Toutefois, le conteneur peut utiliser un pilote de journalisation différent de celui du daemon Docker en spécifiant un pilote de journal avec ce paramètre dans la définition du conteneur. Pour utiliser un pilote de journalisation différent pour un conteneur, le système de journalisation doit être configuré sur l'instance du conteneur ou sur un autre serveur de journaux afin de fournir des options de journalisation à distance. Pour plus d'informations sur les options relatives aux différents pilotes du journal pris en charge, consultez la section Configure logging drivers (Configurer les pilotes de journalisation) dans la documentation Docker. Note
AWS Batch prend actuellement en charge un sous-ensemble des pilotes de journalisation disponibles pour le démon Docker (indiqué dans le type de LogConfigurationdonnées).
Ce paramètre nécessite la version 1.18 de Docker Remote API ou une version ultérieure sur votre instance de conteneur. Pour vérifier la API version de Docker Remote sur votre instance de conteneur, connectez-vous à votre instance de conteneur et exécutez la commande suivante :
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
" } ] } ] }Type : objet LogConfiguration
Obligatoire : non
logDriver
-
Le pilote de journal à utiliser pour la tâche. Par défaut, AWS Batch active le pilote de
awslogs
journal. Les valeurs valides répertoriées pour ce paramètre sont des pilotes de journal avec lesquels l'agent de ECS conteneur Amazon peut communiquer par défaut.Ce paramètre correspond
LogConfig
à la section Créer un conteneurde Docker Remote API et à l' --log-driver
option DockerRun. Par défaut, les tâches utilisent le même pilote de journalisation que celui utilisé par le démon Docker. Cependant, la tâche peut utiliser un pilote de journalisation différent de celui du démon Docker en spécifiant un pilote de journal avec ce paramètre dans la définition de la tâche. Si vous souhaitez spécifier un autre pilote de journalisation pour une tâche, le système de journalisation doit être configuré sur l'instance de conteneur dans l'environnement informatique. Vous pouvez également le configurer sur un autre serveur de journaux pour fournir des options de journalisation à distance. Pour plus d'informations sur les options relatives aux différents pilotes du journal pris en charge, consultez la section Configure logging drivers (Configurer les pilotes de journalisation) dans la documentation Docker. Note
AWS Batch prend actuellement en charge un sous-ensemble des pilotes de journalisation disponibles pour le démon Docker. Des pilotes de journal supplémentaires pourraient être disponibles dans les futures versions de l'agent de ECS conteneur Amazon.
Les pilotes de journal pris en charge sont
awslogs
,fluentd
,gelf
,json-file
,journald
,logentries
,syslog
etsplunk
.Note
Les tâches exécutées sur les ressources Fargate sont limitées aux
awslogs
pilotes et log.splunk
Ce paramètre nécessite la version 1.18 de Docker Remote API ou une version ultérieure sur votre instance de conteneur. Pour vérifier la API version de Docker Remote sur votre instance de conteneur, connectez-vous à votre instance de conteneur et exécutez la commande suivante :
sudo docker version | grep "Server API version"
Note
L'agent de ECS conteneur Amazon qui s'exécute sur une instance de conteneur doit enregistrer les pilotes de journalisation disponibles sur cette instance avec la variable d'
ECS_AVAILABLE_LOGGING_DRIVERS
environnement. Dans le cas contraire, les conteneurs placés sur cette instance ne peuvent pas utiliser ces options de configuration du journal. Pour plus d'informations, consultez la section Configuration d'Amazon ECS Container Agent dans le manuel du développeur Amazon Elastic Container Service.awslogs
-
Spécifie le pilote de CloudWatch journalisation Amazon Logs. Pour plus d'informations, consultez le pilote Utiliser le pilote de journal awslogs de journalisation Amazon CloudWatch Logs
dans la documentation Docker. fluentd
-
Spécifie le pilote de journalisation Fluentd. Pour plus d'informations, notamment sur l'utilisation et les options, consultez le pilote de journalisation Fluentd
dans la documentation Docker. gelf
-
Spécifie le pilote de journalisation Graylog Extended Format (GELF). Pour plus d'informations, notamment sur l'utilisation et les options, consultez le pilote de journalisation Graylog Extended Format
dans la documentation Docker. journald
-
Spécifie le pilote de journalisation journald. Pour plus d'informations, notamment sur son utilisation et ses options, consultez le pilote de journalisation Journald
dans la documentation Docker. json-file
-
Spécifie le pilote JSON de journalisation des fichiers. Pour plus d'informations, notamment sur l'utilisation et les options, consultez la section Pilote de journalisation de JSON fichiers
dans la documentation Docker. splunk
-
Spécifie le pilote de journalisation Splunk. Pour plus d'informations, notamment sur l'utilisation et les options, consultez le pilote de journalisation Splunk
dans la documentation Docker. syslog
-
Spécifie le pilote de journalisation syslog. Pour plus d'informations, notamment sur l'utilisation et les options, consultez le pilote de journalisation Syslog
dans la documentation Docker.
Type : String
Obligatoire : oui
Valeurs valides :
awslogs
|fluentd
|gelf
|journald
|json-file
|splunk
|syslog
Note
Si vous avez un pilote personnalisé qui n'est pas répertorié précédemment et que vous souhaitez utiliser avec l'agent de ECS conteneur Amazon, vous pouvez bifurquer le projet d'agent de ECS conteneur Amazon disponible sur GitHub et le
personnaliser pour qu'il fonctionne avec ce pilote. Nous vous conseillons d'envoyer des demandes d'extraction pour les modifications que vous souhaitez inclure. Cependant, Amazon Web Services ne prend actuellement pas en charge les demandes qui exécutent des copies modifiées de ce logiciel. options
-
Options de configuration du journal à envoyer à un pilote de journal pour la tâche.
Ce paramètre nécessite la version 1.19 de Docker Remote API ou une version ultérieure sur votre instance de conteneur.
Type : mappage chaîne/chaîne
Obligatoire : non
secretOptions
-
Objet qui représente le secret à transmettre à la configuration de journal. Pour de plus amples informations, veuillez consulter Spécifier les données sensibles.
Type : tableau d’objets
Obligatoire : non
name
-
Nom de l'option de pilote de journal à définir dans le job.
Type : String
Obligatoire : oui
valueFrom
-
Le nom de ressource Amazon (ARN) du secret à exposer à la configuration du journal du conteneur. Les valeurs prises en charge sont soit l'intégralité ARN du secret du Gestionnaire de Secrets Manager, soit l'intégralité ARN du paramètre dans le SSM Parameter Store.
Note
Si le SSM paramètre Parameter Store existe au même Région AWS endroit que la tâche que vous lancez, vous pouvez utiliser le nom complet ARN ou le nom du paramètre. Si le paramètre existe dans une autre région, la valeur complète ARN doit être spécifiée.
Type : String
Obligatoire : oui
memory
-
Ce paramètre est obsolète,
resourceRequirements
utilisez-le à la place.Le nombre de MiB de mémoire réservé à la tâche.
À titre d'exemple d'utilisation
resourceRequirements
, si votre définition de tâche contient une syntaxe similaire à la suivante."containerProperties": { "memory":
512
}La syntaxe équivalente utilisée
resourceRequirements
est la suivante."containerProperties": { "resourceRequirements": [ { "type": "MEMORY", "value": "
512
" } ] }Type : entier
Obligatoire : oui
mountPoints
-
Points de montage des volumes de données dans votre conteneur. Ce paramètre correspond
Volumes
à la section Créer un conteneurde Docker Remote API et à l' --volume
option de docker run. "mountPoints": [ { "sourceVolume": "
string
", "containerPath": "string
", "readOnly":true|false
} ]Type : tableau d'objets
Obligatoire : non
sourceVolume
-
Nom du volume à monter.
Type : String
Obligatoire : oui lorsque
mountPoints
est utilisé. containerPath
-
Le chemin sur le conteneur où monter le volume hôte.
Type : String
Obligatoire : oui lorsque
mountPoints
est utilisé. readOnly
-
Si cette valeur est
true
, le conteneur ne peut accéder au volume qu'en lecture. Si cette valeur estfalse
, le conteneur peut écrire sur le volume.Type : booléen
Obligatoire : non
Par défaut : false
networkConfiguration
-
Configuration réseau pour les tâches exécutées sur les ressources Fargate. Les tâches exécutées sur EC2 des ressources ne doivent pas spécifier ce paramètre.
"networkConfiguration": { "assignPublicIp": "string" }
Type : tableau d'objets
Obligatoire : non
assignPublicIp
-
Indique si la tâche présene une adresse IP publique. Cela est nécessaire si la tâche nécessite un accès réseau sortant.
Type : String
Valeurs valides :
ENABLED
|DISABLED
Obligatoire : non
Par défaut :
DISABLED
privileged
-
Lorsque ce paramètre est défini sur true (vrai), des autorisations élevées inhérentes à l'instance de conteneur hôte sont accordées au conteneur (semblable à l'utilisateur
root
). Ce paramètre correspondPrivileged
à la section Créer un conteneurde Docker Remote API et à l' --privileged
option de docker run. Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate. Ne le fournissez pas et ne le spécifiez pas comme faux. "privileged":
true|false
Type : booléen
Obligatoire : non
readonlyRootFilesystem
-
Quand ce paramètre a la valeur true, le conteneur ne dispose que d'un accès en lecture seule au système de fichiers racine. Ce paramètre correspond
ReadonlyRootfs
à la section Créer un conteneurde Docker Remote API et à l' --read-only
option de docker run. "readonlyRootFilesystem":
true|false
Type : booléen
Obligatoire : non
resourceRequirements
-
Type et quantité d'une ressource à attribuer à un conteneur. Les ressources prises en charge comprennent
GPU
,MEMORY
etVCPU
."resourceRequirements" : [ { "type": "GPU", "value": "
number
" } ]Type : tableau d'objets
Obligatoire : non
type
-
Type d'une ressource à attribuer à un conteneur. Les ressources prises en charge comprennent
GPU
,MEMORY
etVCPU
.Type : String
Obligatoire : oui lorsque
resourceRequirements
est utilisé. value
-
La quantité de la ressource spécifiée à réserver pour le conteneur. Les valeurs varient en fonction du
type
spécifié.- type = » GPU
-
Le nombre de billets physiques GPUs à réserver pour le conteneur. Le nombre de conteneurs GPUs réservés à tous les conteneurs d'une tâche ne peut pas dépasser le nombre de conteneurs disponibles GPUs sur la ressource de calcul sur laquelle la tâche est lancée.
- type = » MEMORY
-
La limite stricte (en Mio) de la mémoire à présenter le conteneur. Si votre conteneur tente de dépasser la mémoire spécifiée ici, il sera désactivé. Ce paramètre correspond
Memory
à la section Créer un conteneurde Docker Remote API et à l' --memory
option DockerRun. Vous devez spécifier au moins 4 Mio de mémoire pour une tâche. Cela est obligatoire mais peut être spécifié à plusieurs endroits pour les tâches parallel (MNP) à nœuds multiples. Elle doit être spécifiée pour chaque nœud au moins une fois. Ce paramètre correspond Memory
à la section Créer un conteneurde Docker Remote API et à l' --memory
option DockerRun. Note
Si vous essayez de maximiser l'utilisation de vos ressources en fournissant à vos tâches autant de mémoire que possible pour un type d'instance particulier, consultezGestion de la mémoire des ressources informatiques.
Pour les tâches exécutées sur des ressources Fargate,
value
elles doivent correspondre à l'une des valeurs prises en charge. De plus, lesVCPU
valeurs doivent être l'une des valeurs prises en charge pour cette valeur de mémoire.VCPU
MEMORY
0,25 v CPU
512, 1024 et 2048 MiB
0,5 v CPU
1024 à 4096 MiB par incréments de 1024 MiB
1 v CPU
2048-8192 MiB par incréments de 1024 MiB
2 v CPU
4096-16384 MiB par incréments de 1024 MiB
4 v CPU
8192-30720 MiB par incréments de 1024 MiB
8 v CPU
16384-61440 MiB par incréments de 4096 MiB
16 v CPU
32768-122880 MiB par incréments de 8192 MiB
- type = » VCPU
-
Le nombre de vCPUs personnes réservées pour le travail. Ce paramètre correspond
CpuShares
à la section Créer un conteneurde Docker Remote API et à l' --cpu-shares
option DockerRun. Chaque v CPU équivaut à 1 024 CPU actions. Pour les tâches exécutées sur EC2 des ressources, vous devez spécifier au moins un CPU v. Cela est obligatoire mais peut être spécifié à plusieurs endroits. Elle doit être spécifiée pour chaque nœud au moins une fois. Pour les tâches exécutées sur des ressources Fargate
value
, elles doivent correspondre à l'une des valeurs prises en charge et les valeurs doivent êtreMEMORY
l'une des valeurs prises en charge pour cette valeur. VCPU Les valeurs prises en charge sont 0,25, 0,5, 1, 2, 4, 8 et 16.Le quota de ressources par défaut pour Fargate On-Demand CPU v est de 6. vCPUs Pour plus d'informations sur les quotas de Fargate, consultez la section Quotas de AWS Fargate dans le. Référence générale d'Amazon Web Services
Type : String
Obligatoire : oui lorsque
resourceRequirements
est utilisé.
secrets
-
Les secrets du travail exposés sous forme de variables d'environnement. Pour de plus amples informations, veuillez consulter Spécifier les données sensibles.
"secrets": [ { "name": "
secretName1
", "valueFrom": "secretArn1
" }, { "name": "secretName2
", "valueFrom": "secretArn2
" } ... ]Type : tableau d'objets
Obligatoire : non
name
-
Nom de la variable d'environnement qui contient le secret.
Type : String
Obligatoire : oui lorsque
secrets
est utilisé. valueFrom
-
Secret à exposer au conteneur. Les valeurs prises en charge sont soit le nom complet de la ressource Amazon (ARN) du secret Secrets Manager, soit l'intégralité ARN du paramètre dans le SSM Parameter Store.
Note
Si le SSM paramètre Parameter Store existe au même Région AWS endroit que la tâche que vous lancez, vous pouvez utiliser le nom complet ARN ou le nom du paramètre. Si le paramètre existe dans une autre région, la valeur complète ARN doit être spécifiée.
Type : String
Obligatoire : oui lorsque
secrets
est utilisé.
ulimits
-
Une liste de valeurs
ulimits
à définir dans le conteneur. Ce paramètre correspondUlimits
à la section Créer un conteneurde Docker Remote API et à l' --ulimit
option de docker run. "ulimits": [ { "name":
string
, "softLimit":integer
, "hardLimit":integer
} ... ]Type : tableau d'objets
Obligatoire : non
name
-
Le
type
d'ulimit
.Type : String
Obligatoire : oui lorsque
ulimits
est utilisé. hardLimit
-
La limite stricte du type
ulimit
.Type : entier
Obligatoire : oui lorsque
ulimits
est utilisé. softLimit
-
La limite flexible du type
ulimit
.Type : entier
Obligatoire : oui lorsque
ulimits
est utilisé.
user
-
Le nom utilisateur à utiliser à l'intérieur du conteneur. Ce paramètre correspond
User
à la section Créer un conteneurde Docker Remote API et à l' --user
option de docker run. "user": "
string
"Type : chaîne
Obligatoire : non
vcpus
-
Ce paramètre est obsolète,
resourceRequirements
utilisez-le à la place.Le nombre de vCPUs livres réservés pour le conteneur.
À titre d'exemple d'utilisation
resourceRequirements
, si votre définition de tâche contient des lignes similaires à celles-ci :"containerProperties": { "vcpus":
2
}Les lignes équivalentes utilisées
resourceRequirements
sont les suivantes."containerProperties": { "resourceRequirements": [ { "type": "VCPU", "value": "
2
" } ] }Type : entier
Obligatoire : oui
volumes
-
Lorsque vous enregistrez une définition de tâche, vous pouvez éventuellement préciser une liste de volumes qui sont transmis au daemon Docker sur une instance de conteneur. Les paramètres suivants sont autorisés dans les propriétés du conteneur :
"volumes": [ { "name": "
string
", "host": { "sourcePath": "string
" }, "efsVolumeConfiguration": { "authorizationConfig": { "accessPointId": "string
", "iam": "string
" }, "fileSystemId": "string
", "rootDirectory": "string
", "transitEncryption": "string
", "transitEncryptionPort":number
} } ]name
-
Nom du volume. Il peut comporter jusqu'à 255 lettres (majuscules et minuscules), des chiffres, des tirets ou des traits de soulignement. Ce nom est référencé dans le
sourceVolume
paramètre de définition de conteneurmountPoints
.Type : chaîne
Obligatoire : non
host
-
Le contenu du paramètre
host
détermine si le volume de données persiste sur l'instance de conteneur hôte et où il est stocké. Si le paramètrehost
est vide, le daemon Docker attribue un chemin hôte pour votre volume de données. Cependant, il n'est pas garanti que les données persistent une fois que le conteneur qui leur est associé cesse de fonctionner.Note
Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.
Type : objet
Obligatoire : non
sourcePath
-
Le chemin d'accès sur l'instance de conteneur hôte qui est présenté au conteneur. Si ce paramètre est vide, le démon Docker attribue un chemin hôte pour vous.
Si le paramètre
host
contient un emplacement de fichiersourcePath
, le volume de données persiste à l'emplacement spécifié sur l'instance de conteneur hôte jusqu'à ce que vous le supprimiez manuellement. Si la valeursourcePath
n'existe pas sur l'instance de conteneur hôte, le démon Docker la crée. Si l'emplacement n'existe pas, le contenu du chemin source est exporté.Type : chaîne
Obligatoire : non
efsVolumeConfiguration
-
Ce paramètre est spécifié lorsque vous utilisez un système de fichiers Amazon Elastic File System pour le stockage des tâches. Pour de plus amples informations, veuillez consulter EFSVolumes Amazon.
Type : objet
Obligatoire : non
authorizationConfig
-
Les détails de configuration des autorisations pour le système de EFS fichiers Amazon.
Type : chaîne
Obligatoire : non
accessPointId
-
L'ID du point EFS d'accès Amazon à utiliser. Si un point d'accès est spécifié, la valeur du répertoire racine spécifiée dans le
EFSVolumeConfiguration
doit être omise ou définie sur./
Cela applique le chemin défini sur le point EFS d'accès. Si un point d'accès est utilisé, le chiffrement de transit doit être activé dansEFSVolumeConfiguration
. Pour plus d'informations, consultez Working with Amazon EFS Access Points dans le guide de l'utilisateur d'Amazon Elastic File System.Type : chaîne
Obligatoire : non
iam
-
Détermine s'il faut utiliser le IAM rôle de AWS Batch travail défini dans une définition de tâche lors du montage du système de EFS fichiers Amazon. Si cette option est activée, le chiffrement en transit doit être activé dans la configuration
EFSVolumeConfiguration
. Si ce paramètre est omis, la valeur par défautDISABLED
est utilisée. Pour de plus amples informations, veuillez consulter Utiliser les points EFS d'accès Amazon.Type : String
Valeurs valides :
ENABLED
|DISABLED
Obligatoire : non
fileSystemId
-
L'ID EFS du système de fichiers Amazon à utiliser.
Type : chaîne
Obligatoire : non
rootDirectory
-
Le répertoire du système de EFS fichiers Amazon à monter en tant que répertoire racine sur l'hôte. Si ce paramètre est omis, la racine du EFS volume Amazon est utilisée. Si vous le spécifiez
/
, cela a le même effet que l'omission de ce paramètre. La longueur maximale est de 4 096 caractères.Important
Si un point d'EFSaccès est spécifié dans le
authorizationConfig
, le paramètre du répertoire racine doit être omis ou défini sur./
Cela applique le chemin défini sur le point d'EFSaccès Amazon.Type : chaîne
Obligatoire : non
transitEncryption
-
Détermine s'il faut activer le chiffrement des EFS données Amazon en transit entre l'ECShôte Amazon et le EFS serveur Amazon. Le chiffrement du transit doit être activé si EFS IAM l'autorisation Amazon est utilisée. Si ce paramètre est omis, la valeur par défaut
DISABLED
est utilisée. Pour plus d'informations, consultez Chiffrement des données en transit dans le Guide de l'utilisateur Amazon Elastic File System.Type : String
Valeurs valides :
ENABLED
|DISABLED
Obligatoire : non
transitEncryptionPort
-
Port à utiliser lors de l'envoi de données chiffrées entre l'ECShôte Amazon et le EFS serveur Amazon. Si vous ne spécifiez aucun port de chiffrement de transit, celui-ci utilise la stratégie de sélection de port utilisée par l'assistant de EFS montage Amazon. La valeur doit être comprise entre 0 et 65 535. Pour plus d'informations, consultez EFSMount Helper dans le guide de l'utilisateur d'Amazon Elastic File System.
Type : entier
Obligatoire : non
EKSPropriétés d'Amazon
Un objet doté de différentes propriétés spécifiques aux tâches EKS basées sur Amazon. Cela ne doit pas être spécifié pour les définitions de tâches ECS basées sur Amazon.
podProperties
-
Les propriétés du Kubernetes ressources d'un emploi.
Type : objet EksPodProperties
Obligatoire : non
containers
-
Les propriétés du conteneur utilisé sur le EKS pod Amazon.
Type : objet EksContainer
Obligatoire : non
args
-
Tableau d'arguments pour le point d'entrée. Si cela n'est pas spécifié, le
CMD
de l'image de conteneur est utilisée. Cela correspond auargs
membre figurant dans la partie Entrypointdu Pod dans Kubernetes. Les références aux variables d'environnement sont développées à l'aide de l'environnement du conteneur. Si la variable d'environnement référencée n'existe pas, la référence de la commande ne change pas. Par exemple, si la référence porte sur «
$(NAME1)
» et que la variable d'environnementNAME1
n'existe pas, la chaîne de commande reste «$(NAME1)
».$$
est remplacé par$
, et la chaîne résultante n'est pas développée. Par exemple,$$(VAR_NAME)
est transmis en tant que$(VAR_NAME)
, que la variable d'environnementVAR_NAME
existe ou non. Pour plus d'informations, consultez CMDla référence Dockerfile et la section Définir une commande et des arguments pour un pod dans le Kubernetes documentation. Type : tableau de chaînes
Obligatoire : non
command
-
Point d'entrée du conteneur. Il n'est pas exécuté dans un shell. Si cela n'est pas spécifié, le
ENTRYPOINT
de l'image de conteneur est utilisé. Les références aux variables d'environnement sont étendues à l'aide de l'environnement du conteneur.Si la variable d'environnement référencée n'existe pas, la référence de la commande ne change pas. Par exemple, si la référence porte sur «
$(NAME1)
» et que la variable d'environnementNAME1
n'existe pas, la chaîne de commande reste «$(NAME1)
».$$
est remplacé par$
, et la chaîne résultante n'est pas développée. Par exemple,$$(VAR_NAME)
est transmis en tant que$(VAR_NAME)
, que la variable d'environnementVAR_NAME
existe ou non. Ce point d'entrée ne peut pas être mis à jour. Pour plus d'informations, reportez-vous ENTRYPOINTà la référence Dockerfile et à Définir une commande et des arguments pour un conteneur et un point d' entrée dans Kubernetes documentation. Type : tableau de chaînes
Obligatoire : non
env
-
Variables d'environnement à transmettre à un conteneur.
Note
Les variables d'environnement ne peuvent pas commencer par «
AWS_BATCH
». Cette convention de dénomination est réservée aux variables AWS Batch définies.Type : tableau d’objets EksContainerEnvironmentVariable
Obligatoire : non
name
-
Nom de la variable d'environnement.
Type : String
Obligatoire : oui
value
-
Valeur de la variable d'environnement.
Type : chaîne
Obligatoire : non
image
-
Image Docker utilisée pour démarrer le conteneur.
Type : String
Obligatoire : oui
imagePullPolicy
-
Stratégie d'extraction d'images pour le conteneur. Les valeurs prises en charge sont
Always
,IfNotPresent
etNever
. Ce paramètre a pour valeur par défautIfNotPresent
. Toutefois, si la balise:latest
est spécifiée, elle prend par défaut la valeurAlways
. Pour plus d'informations, consultez la section Mise à jour des imagesdans le Kubernetes documentation. Type : chaîne
Obligatoire : non
name
-
Nom du conteneur. Si le nom n'est pas spécifié, le nom par défaut «
Default
» est utilisé. Chaque conteneur d'un pod doit porter un nom unique.Type : chaîne
Obligatoire : non
resources
-
Le type et la quantité de ressources à attribuer à un conteneur. Les ressources prises en charge comprennent
memory
,cpu
etnvidia.com/gpu
. Pour plus d'informations, consultez la section Gestion des ressources pour les pods et les conteneursdans le Kubernetes documentation. Type : objet EksContainerResourceRequirements
Obligatoire : non
limits
-
Type et quantité de ressources spécifiés à réserver pour le conteneur. Les valeurs varient en fonction du
name
spécifié. Les ressources peuvent être demandées à l'aide des objetslimits
ourequests
.- memory
-
Limite stricte de mémoire (en Mio) du conteneur, en entiers, avec un suffixe « Mi ». Si votre conteneur tente de dépasser la mémoire spécifiée, il est résilié. Vous devez spécifier au moins 4 Mio de mémoire pour une tâche. La
memory
peut être spécifiée danslimits
,requests
ou les deux. Simemory
est spécifié dans les deux, la valeur spécifiée danslimits
doit être égale à la valeur spécifiée dansrequests
.Note
Pour optimiser l'utilisation de vos ressources, fournissez à vos tâches autant de mémoire que possible pour le type d'instance spécifique que vous utilisez. Pour savoir comment procéder, veuillez consulter la section Gestion de la mémoire des ressources informatiques.
- cpu
-
Le numéro CPUs est réservé au conteneur. Les valeurs doivent correspondre à un multiple pair de
0.25
. Lecpu
peut être spécifié danslimits
,requests
ou les deux. Si lecpu
est spécifié dans les deux, la valeur spécifiée danslimits
doit être au moins égale à la valeur spécifiée dansrequests
. - nvidia.com/gpu
-
Le numéro GPUs est réservé au conteneur. Les valeurs doivent correspondre à un entier.
memory
peut être spécifié danslimits
,requests
ou les deux. Simemory
est spécifié dans les deux, la valeur spécifiée danslimits
doit être égale à la valeur spécifiée dansrequests
.
Type : mappage chaîne/chaîne
Contraintes de longueur de valeur : longueur minimale de 1. Longueur maximale de 256.
Obligatoire : non
requests
-
Type et quantité de ressources spécifiés à demander pour le conteneur. Les valeurs varient en fonction du
name
spécifié. Les ressources peuvent être demandées à l'aide des objetslimits
ourequests
.- memory
-
Limite stricte de mémoire (en Mio) du conteneur, en entiers, avec un suffixe « Mi ». Si votre conteneur tente de dépasser la mémoire spécifiée, il est résilié. Vous devez spécifier au moins 4 Mio de mémoire pour une tâche. La
memory
peut être spécifiée danslimits
,requests
ou les deux. Simemory
est spécifié dans les deux, la valeur spécifiée danslimits
doit être égale à la valeur spécifiée dansrequests
.Note
Si vous essayez de maximiser l'utilisation de vos ressources en fournissant à vos tâches autant de mémoire que possible pour un type d'instance particulier, consultezGestion de la mémoire des ressources informatiques.
- cpu
-
Le nombre de CPUs ceux-ci sont réservés au conteneur. Les valeurs doivent correspondre à un multiple pair de
0.25
. Lecpu
peut être spécifié danslimits
,requests
ou les deux. Si lecpu
est spécifié dans les deux, la valeur spécifiée danslimits
doit être au moins égale à la valeur spécifiée dansrequests
. - nvidia.com/gpu
-
Le nombre de GPUs ceux-ci sont réservés au conteneur. Les valeurs doivent correspondre à un entier.
nvidia.com/gpu
peut être spécifié danslimits
,requests
ou les deux. Sinvidia.com/gpu
est spécifié dans les deux, la valeur spécifiée danslimits
doit être égale à la valeur spécifiée dansrequests
.
Type : mappage chaîne/chaîne
Contraintes de longueur de valeur : longueur minimale de 1. Longueur maximale de 256.
Obligatoire : non
securityContext
-
Contexte de sécurité d'une tâche. Pour plus d'informations, voir Configurer un contexte de sécurité pour un pod ou un conteneur
dans le Kubernetes documentation. Type : objet EksContainerSecurityContext
Obligatoire : non
privileged
-
Lorsque ce paramètre est défini sur true
true
, des autorisations élevées inhérentes à l'instance de conteneur hôte sont accordées au conteneur. Le niveau des autorisations est similaire à celui des autorisations desroot
utilisateurs. La valeur par défaut estfalse
. Ce paramètre correspond à laprivileged
politique définie dans les politiques de sécurité du module Privilegeddans le Kubernetes documentation. Type : booléen
Obligatoire : non
readOnlyRootFilesystem
-
Lorsque ce paramètre est défini sur
true
, le conteneur ne dispose que d'un accès en lecture seule au système de fichiers racine. La valeur par défaut estfalse
. Ce paramètre correspond à laReadOnlyRootFilesystem
politique définie dans les politiques de sécurité du module Volumes et systèmes de fichiersdans le Kubernetes documentation. Type : booléen
Obligatoire : non
runAsGroup
-
Lorsque ce paramètre est spécifié, le conteneur est exécuté avec l'ID de groupe spécifié (
gid
). Si ce paramètre n'est pas spécifié, le groupe spécifié dans les métadonnées d'image correspond au groupe par défaut. Ce paramètre correspond auxMustRunAs
politiquesRunAsGroup
définies dans le module Utilisateurs et groupes et aux politiques de sécuritédu Kubernetes documentation. Type : long
Obligatoire : non
runAsNonRoot
-
Lorsque ce paramètre est spécifié, le conteneur est exécuté en tant qu'utilisateur avec un
uid
autre que 0. Si ce paramètre n'est pas spécifié, cette règle est appliquée. Ce paramètre correspond auxMustRunAsNonRoot
politiquesRunAsUser
définies dans le module Utilisateurs et groupes et aux politiques de sécuritédu Kubernetes documentation. Type : long
Obligatoire : non
runAsUser
-
Lorsque ce paramètre est spécifié, le conteneur est exécuté avec l'ID utilisateur spécifié (
uid
). Si ce paramètre n'est pas spécifié, le groupe spécifié dans les métadonnées d'image correspond au groupe par défaut. Ce paramètre correspond auxMustRanAs
politiquesRunAsUser
définies dans le module Utilisateurs et groupes et aux politiques de sécuritédu Kubernetes documentation. Type : long
Obligatoire : non
volumeMounts
-
Le volume est monté pour un conteneur destiné à une EKS tâche Amazon. Pour plus d'informations sur les volumes et les montages de volumes dans Kubernetes, voir Volumes
dans le Kubernetes documentation. Type : tableau d’objets EksContainerVolumeMount
Obligatoire : non
mountPath
-
Le chemin d'accès du conteneur, sur lequel le volume est monté.
Type : chaîne
Obligatoire : non
name
-
Nom du montage de volume. Ce nom doit correspondre au nom d'un des volumes du pod.
Type : chaîne
Obligatoire : non
readOnly
-
Si cette valeur est
true
, le conteneur ne peut accéder au volume qu'en lecture. Dans le cas contraire, le conteneur peut écrire sur le volume. La valeur par défaut estfalse
.Type : booléen
Obligatoire : non
dnsPolicy
-
La DNS politique pour le module. La valeur par défaut est
ClusterFirst
. Si lehostNetwork
paramètre n'est pas spécifié, la valeur par défaut estClusterFirstWithHostNet
.ClusterFirst
indique que toute DNS requête ne correspondant pas au suffixe de domaine de cluster configuré est transmise au serveur de noms en amont hérité du nœud. Si aucune valeur n'a été spécifiéednsPolicy
dans l'RegisterJobDefinitionAPIopération, aucune valeur n'est renvoyéednsPolicy
par l'une DescribeJobDefinitionsou l'autre des DescribeJobsAPIopérations. Le paramètre de spécification du pod contientClusterFirst
ouClusterFirstWithHostNet
, selon la valeur du paramètrehostNetwork
. Pour plus d'informations, consultez la DNS politique de Poddans le Kubernetes documentation. Valeurs valides :
Default
|ClusterFirst
|ClusterFirstWithHostNet
Type : chaîne
Obligatoire : non
hostNetwork
-
Indique si le pod utilise l'adresse IP réseau des hôtes. La valeur par défaut est
true
. Le réglage de cettefalse
valeur pour activer Kubernetes modèle de mise en réseau de pods. La plupart des AWS Batch charges de travail concernent uniquement les sorties et ne nécessitent pas la surcharge liée à l'allocation d'adresses IP pour chaque module pour les connexions entrantes. Pour plus d'informations, voir Espaces de noms d'hôteset mise en réseau des pods dans le Kubernetes documentation. Type : booléen
Obligatoire : non
serviceAccountName
-
Nom du compte de service utilisé pour exécuter le pod. Pour plus d’informations, consultez .Kubernetes comptes de service et configurez un Kubernetes compte de service pour jouer un IAM rôle dans le guide de EKS l'utilisateur Amazon et configurer les comptes de service pour les pods
dans Kubernetes documentation. Type : chaîne
Obligatoire : non
volumes
-
Spécifie les volumes pour une définition de tâche qui utilise les EKS ressources Amazon.
Type : tableau d’objets EksVolume
Obligatoire : non
- emptyDir
-
Spécifie la configuration d'un Kubernetes
emptyDir
volume. Un volumeemptyDir
est créé pour la première fois lorsqu'un pod est attribué à un nœud. Il existe tant que ce pod fonctionne sur ce nœud. Le volumeemptyDir
est initialement vide. Tous les conteneurs du pod peuvent lire et écrire les fichiers du volumeemptyDir
. Toutefois, le volumeemptyDir
peut être monté sur des chemins identiques ou différents dans chaque conteneur. Lorsqu'un pod est supprimé d'un nœud pour quelque raison que ce soit, les données duemptyDir
sont définitivement supprimées. Pour plus d'informations, consultez emptyDirle Kubernetes documentation. Type : objet EksEmptyDir
Obligatoire : non
- medium
-
Support sur lequel stocker le volume. La valeur par défaut est une chaîne vide utilisant le stockage du nœud.
- ""
-
(Par défaut) Utilisez le stockage sur disque du nœud.
- « Mémoire »
-
Utilisez le
tmpfs
volume soutenu par RAM le nœud. Le contenu du volume est perdu lorsque le nœud redémarre, et tout stockage présent sur le volume est pris en compte dans la limite de mémoire du conteneur.
Type : chaîne
Obligatoire : non
- sizeLimit
-
Taille maximale du volume. Par défaut, aucune taille maximale n'est définie.
Type : String
Contraintes de longueur : longueur minimum de 1. Longueur maximale de 256.
Obligatoire : non
- hostPath
-
Spécifie la configuration d'un Kubernetes
hostPath
volume. Un volumehostPath
monte un fichier ou un répertoire existant depuis le système de fichiers du nœud hôte dans votre pod. Pour plus d'informations, consultez hostPathle Kubernetes documentation. Type : objet EksHostPath
Obligatoire : non
- chemin
-
Chemin du fichier ou du répertoire sur l'hôte à monter dans les conteneurs du pod.
Type : chaîne
Obligatoire : non
- name
-
Le nom du volume. Le nom doit être autorisé en tant que nom de DNS sous-domaine. Pour plus d'informations, consultez la section sur les noms DNS de sous-domaines
dans le Kubernetes documentation. Type : String
Obligatoire : oui
- secret
-
Spécifie la configuration d'un Kubernetes
secret
volume. Pour plus d'informations, consultez la section « secret» dans le Kubernetes documentation. Type : objet EksSecret
Obligatoire : non
- facultatif
-
Spécifie si le secret ou les clés du secret doivent être définis.
Type : booléen
Obligatoire : non
- secretName
-
Le nom du secret. Le nom doit être autorisé en tant que nom de DNS sous-domaine. Pour plus d'informations, consultez la section sur les noms DNS de sous-domaines
dans le Kubernetes documentation. Type : String
Obligatoire : oui
Fonctionnalités de la plateforme
platformCapabilities
-
Les fonctionnalités de la plateforme requises par la définition du poste. Si aucune valeur n'est spécifiée, elle est par défaut
EC2
. Pour les tâches exécutées sur des ressourcesFARGATE
Fargate, est spécifié.Note
Si la tâche s'exécute sur les EKS ressources Amazon, vous ne devez pas le spécifier
platformCapabilities
.Type : String
Valeurs valides :
EC2
|FARGATE
Obligatoire : non
Propager les tags
propagateTags
-
Spécifie s'il faut propager les balises de la tâche ou de la définition de la tâche vers la ECS tâche Amazon correspondante. Si aucune valeur n'est spécifiée, les balises ne sont pas propagées. Les balises ne peuvent être propagées aux tâches que lorsque celles-ci sont créées. Pour les balises portant le même nom, les balises de tâche ont la priorité sur les balises de définition de tâche. Si le nombre total de balises combinées entre la tâche et la définition de la tâche est supérieur à 50, la tâche est déplacée vers l'
FAILED
état.Note
Si la tâche s'exécute sur les EKS ressources Amazon, vous ne devez pas le spécifier
propagateTags
.Type : booléen
Obligatoire : non
Propriétés du nœud
nodeProperties
-
Lorsque vous enregistrez une définition de tâche parallèle à nœuds multiples, vous devez spécifier une liste de propriétés de nœuds. Ces propriétés de nœud définissent le nombre de nœuds à utiliser dans votre tâche, l'index des nœuds principaux et les différentes plages de nœuds à utiliser. Si la tâche s'exécute sur les ressources Fargate, vous ne pouvez pas le spécifier.
nodeProperties
Utilisez à la placecontainerProperties
. Les propriétés de nœud suivantes sont autorisées dans une définition de tâche. Pour de plus amples informations, veuillez consulter Tâches parallélisées sur plusieurs nœuds.Note
Si la tâche s'exécute sur les EKS ressources Amazon, vous ne devez pas le spécifier
nodeProperties
.Type : objet NodeProperties
Obligatoire : non
mainNode
-
Spécifie l'index de nœud pour le nœud principal d'une tâche parallèle à plusieurs nœuds. Cette valeur d'index de nœud doit être inférieure au nombre de nœuds.
Type : entier
Obligatoire : oui
numNodes
-
Le nombre de nœuds associé à une tâche parallèle à plusieurs nœuds.
Type : entier
Obligatoire : oui
nodeRangeProperties
-
Une liste des plages de nœuds et leurs propriétés associées avec une tâche parallèle à plusieurs nœuds.
Note
Un groupe de nœuds est un groupe identique de nœuds de travail qui partagent tous les mêmes propriétés de conteneur. Vous pouvez spécifier jusqu' AWS Batch à cinq groupes de nœuds distincts pour chaque tâche.
Type : tableau d’objets NodeRangeProperty
Obligatoire : oui
targetNodes
-
La plage de nœuds en utilisant les valeurs d'index de nœud. Une plage de nœuds
0:3
indique les nœuds dont les valeurs d'index sont comprises entre0
et3
. Si la valeur de la plage de départ est omise (:n
), 0 est utilisé pour démarrer la plage. Si la valeur de fin de la plage n'est pas spécifiée (n:
), l'index de nœud le plus élevé possible est utilisé pour terminer la plage. Vos plages de nœuds cumulatives doivent tenir compte de tous les nœuds (0:n
). Vous pouvez imbriquer des plages de nœuds, par exemple0:10
et4:5
. Dans ce cas, les propriétés4:5
de la plage remplacent les0:10
propriétés.Type : chaîne
Obligatoire : non
container
-
Les détails du conteneur pour la plage de nœuds. Pour de plus amples informations, veuillez consulter Propriétés du contenant.
Type : objet ContainerProperties
Obligatoire : non
Réessayer la stratégie
retryStrategy
-
Lorsque vous enregistrez une définition de tâche, vous pouvez, si vous le souhaitez, définir une stratégie de nouvelle tentative à adopter pour les tâches en échec qui sont soumises avec cette définition de tâche. Toute stratégie de nouvelle tentative spécifiée au cours d'une SubmitJobopération remplace la stratégie de nouvelle tentative définie ici. Par défaut, chaque tâche est lancée une seule fois. Si vous spécifiez plusieurs tentatives, la tâche est réessayée en cas d'échec. Parmi les exemples de tentative d'échec, citons le renvoi d'un code de sortie différent de zéro par la tâche ou l'arrêt de l'instance de conteneur. Pour de plus amples informations, veuillez consulter Nouvelles tentatives de travail automatisées.
Type : objet RetryStrategy
Obligatoire : non
attempts
-
Nombre de fois où une tâche est passée en statut
RUNNABLE
. Vous pouvez indiquer entre 1 et 10 tentatives. Siattempts
est supérieur à un, la tâche est relancée ce nombre de fois en cas d'échec, jusqu'à ce que son statut devienneRUNNABLE
."attempts":
integer
Type : entier
Obligatoire : non
evaluateOnExit
-
Tableau contenant jusqu'à 5 objets qui spécifient les conditions dans lesquelles la tâche est réessayée ou échoue. Si ce paramètre est spécifié, le paramètre
attempts
doit également être spécifié. Si elleevaluateOnExit
est spécifiée mais qu'aucune des entrées ne correspond, la tâche est réessayée."evaluateOnExit": [ { "action": "
string
", "onExitCode": "string
", "onReason": "string
", "onStatusReason": "string
" } ]Type : tableau d’objets EvaluateOnExit
Obligatoire : non
action
-
Spécifie l'action à exécuter si toutes les conditions spécifiées (
onStatusReason
,onReason
etonExitCode
) sont remplies. Les valeurs ne sont pas sensibles à la casse.Type : String
Obligatoire : oui
Valeurs valides :
RETRY
|EXIT
onExitCode
-
Contient un motif global à faire correspondre à la représentation décimale du résultat
ExitCode
renvoyé pour une tâche. Le modèle peut contenir jusqu'à 512 caractères. Il ne peut contenir que des chiffres. Il ne peut pas contenir de lettres ou de caractères spéciaux. Il peut éventuellement se terminer par un astérisque (*) ; seul le début de la chaîne doit constituer une correspondance exacte.Type : chaîne
Obligatoire : non
onReason
-
Contient un motif global correspondant à
Reason
celui renvoyé pour une tâche. Le modèle peut contenir jusqu'à 512 caractères. Il peut contenir des lettres, des chiffres, des points (.), des points (:) et des espaces blancs (espaces, onglets). Il peut éventuellement se terminer par un astérisque (*) ; seul le début de la chaîne doit constituer une correspondance exacte.Type : chaîne
Obligatoire : non
onStatusReason
-
Contient un motif global correspondant à
StatusReason
celui renvoyé pour une tâche. Le modèle peut contenir jusqu'à 512 caractères. Il peut contenir des lettres, des chiffres, des points (.), des points (:) et des espaces blancs (espaces, onglets). Il peut éventuellement se terminer par un astérisque (*) ; seul le début de la chaîne doit constituer une correspondance exacte.Type : chaîne
Obligatoire : non
Priorité de planification
schedulingPriority
-
Priorité de planification pour les tâches soumises avec cette définition de tâche. Cela n'affecte que les tâches dans les files d'attente de tâches avec une politique de partage équitable. Les tâches avec une priorité de planification plus élevée sont planifiées avant celles dont la priorité de planification est inférieure.
La valeur minimale prise en charge est 0 et la valeur maximale prise en charge est 9999.
Type : entier
Obligatoire : non
Balises
tags
-
Balises de paire clé-valeur à associer à la définition de la tâche. Pour de plus amples informations, veuillez consulter Marquez vos AWS Batch ressources.
Type : mappage chaîne/chaîne
Obligatoire : non
Timeout
timeout
-
Vous pouvez configurer un délai d'expiration pour vos tâches de telle sorte que si une tâche dure plus longtemps, AWS Batch elle soit interrompue. Pour de plus amples informations, veuillez consulter Expiration des délais d'exécution des tâches. Si une tâche est interrompue en raison d'un délai imparti, elle n'est pas réessayée. Toute configuration de temporisation spécifiée au cours d'une SubmitJobopération remplace la configuration de temporisation définie ici. Pour de plus amples informations, veuillez consulter Expiration des délais d'exécution des tâches.
Type : objet JobTimeout
Obligatoire : non
attemptDurationSeconds
-
Durée en secondes (mesurée à partir de l'
startedAt
horodatage de la tentative de tâche) après la AWS Batch fin des tâches inachevées. La valeur minimale pour le délai d'expiration est 60 secondes.Pour les tâches de tableau, le délai s'applique aux tâches enfants, et non à la tâche de tableau parent.
Pour les tâches parallel (MNP) à nœuds multiples, le délai d'attente s'applique à l'ensemble de la tâche, et non aux nœuds individuels.
Type : entier
Obligatoire : non