Cet article décrit la syntaxe et les propriétés du fichier YAML pris en charge par Azure Container Instances pour configurer un groupe de conteneurs. Utilisez un fichier YAML pour entrer la configuration du groupe dans la commande az container create dans le Azure CLI.
Un fichier YAML est un moyen pratique de configurer un groupe de conteneurs pour les déploiements reproductibles. Il s'agit d'une alternative concise à l'utilisation d'un modèle Resource Manager ou des sdk Azure Container Instances pour créer ou mettre à jour un groupe de conteneurs.
Note
Cette référence s’applique aux fichiers YAML pour Azure Container Instances version de 2021-10-01l’API REST.
Schema
Le schéma du fichier YAML suit, y compris les commentaires pour mettre en surbrillance les propriétés clés. Pour obtenir une description des propriétés de ce schéma, consultez la section Valeurs de propriété.
name: string # Name of the container group
apiVersion: '2021-10-01'
location: string
tags: {}
identity:
type: string
userAssignedIdentities: {}
properties: # Properties of container group
containers: # Array of container instances in the group
- name: string # Name of an instance
properties: # Properties of an instance
image: string # Container image used to create the instance
command:
- string
ports: # External-facing ports exposed on the instance, must also be set in group ipAddress property
- protocol: string
port: integer
environmentVariables:
- name: string
value: string
secureValue: string
resources: # Resource requirements of the instance
requests:
memoryInGB: number
cpu: number
gpu:
count: integer
sku: string
limits:
memoryInGB: number
cpu: number
gpu:
count: integer
sku: string
volumeMounts: # Array of volume mounts for the instance
- name: string
mountPath: string
readOnly: boolean
livenessProbe:
exec:
command:
- string
httpGet:
httpHeaders:
- name: string
value: string
path: string
port: integer
scheme: string
initialDelaySeconds: integer
periodSeconds: integer
failureThreshold: integer
successThreshold: integer
timeoutSeconds: integer
readinessProbe:
exec:
command:
- string
httpGet:
httpHeaders:
- name: string
value: string
path: string
port: integer
scheme: string
initialDelaySeconds: integer
periodSeconds: integer
failureThreshold: integer
successThreshold: integer
timeoutSeconds: integer
imageRegistryCredentials: # Credentials to pull a private image
- server: string
username: string
password: string
identity: string
identityUrl: string
restartPolicy: string
ipAddress: # IP address configuration of container group
ports:
- protocol: string
port: integer
type: string
ip: string
dnsNameLabel: string
autoGeneratedDomainNameLabelScope: string
osType: string
volumes: # Array of volumes available to the instances
- name: string
azureFile:
shareName: string
readOnly: boolean
storageAccountName: string
storageAccountKey: string
emptyDir: {}
secret: {}
gitRepo:
directory: string
repository: string
revision: string
diagnostics:
logAnalytics:
workspaceId: string
workspaceKey: string
workspaceResourceId: string
logType: string
metadata: {}
subnetIds: # Subnet to deploy the container group into
- id: string
name: string
dnsConfig: # DNS configuration for container group
nameServers:
- string
searchDomains: string
options: string
sku: string # SKU for the container group
encryptionProperties:
vaultBaseUrl: string
keyName: string
keyVersion: string
initContainers: # Array of init containers in the group
- name: string
properties:
image: string
command:
- string
environmentVariables:
- name: string
value: string
secureValue: string
volumeMounts:
- name: string
mountPath: string
readOnly: boolean
Valeurs de propriété
Les tableaux suivants décrivent les valeurs que vous devez définir dans le schéma.
Microsoft. Objet ContainerInstance/containerGroups
| Nom |
Catégorie |
Obligatoire |
Valeur |
| nom |
string |
Yes |
Nom du groupe de conteneurs. |
| apiVersion |
enum |
Yes |
2021-10-01 (dernière version), 2021-09-01, 2021-07-01, 2021-03-01, 2020-11-01, 2019-12-01, 2018-10-01, 2018-09-01, 2018-07-01, 2018-06-01, 2018-04-01 |
| location |
string |
Non |
Emplacement de la ressource. |
| tags |
object |
Non |
Balises de ressource. |
| identity |
object |
Non |
Identité du groupe de conteneurs, si elle est configurée.
-
ContainerGroupIdentity (objet) |
| properties |
object |
Yes |
ContainerGroupProperties (objet) |
ContainerGroupIdentity (objet)
| Nom |
Catégorie |
Obligatoire |
Valeur |
| type |
enum |
Non |
Type d’identité utilisé pour le groupe de conteneurs. Le type « SystemAssigned, UserAssigned » inclut à la fois une identité créée implicitement et un ensemble d’identités affectées par l’utilisateur. Le type « None » supprime toutes les identités du groupe de conteneurs. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None |
| userAssignedIdentities |
object |
Non |
Liste des identités utilisateur associées au groupe de conteneurs. Les références de clé de dictionnaire d'identité utilisateur sont Azure Resource Manager ID de ressource sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}'. |
ContainerGroupProperties (objet)
| Nom |
Catégorie |
Obligatoire |
Valeur |
| Conteneurs |
tableau |
Yes |
Conteneurs au sein du groupe de conteneurs.
-
Conteneur (objet) |
| imageRegistryCredentials |
tableau |
Non |
Informations d’identification du Registre d’images à partir desquelles le groupe de conteneurs est créé.
-
Objet ImageRegistryCredential |
| restartPolicy |
enum |
Non |
Redémarrez la stratégie pour tous les conteneurs au sein du groupe de conteneurs.
-
Always Toujours redémarrer - OnFailure Redémarrer en cas d’échec - Never Ne redémarrez jamais. - Always, OnFailure, Never |
| ipAddress |
object |
Non |
Type d’adresse IP du groupe de conteneurs.
-
Objet IpAddress |
| osType |
enum |
Yes |
Type de système d’exploitation requis par les conteneurs dans le groupe de conteneurs. - Windows ou Linux |
| volumes |
tableau |
Non |
La liste des volumes que les conteneurs de ce groupe de conteneurs peuvent monter.
-
Objet Volume |
| diagnostics |
object |
Non |
Informations de diagnostic pour un groupe de conteneurs.
-
ContainerGroupDiagnostics (objet) |
| subnetIds |
object |
Non |
Informations de sous-réseau pour un groupe de conteneurs.
-
ContainerGroupSubnetIds (objet) |
| dnsConfig |
object |
Non |
Informations de configuration DNS pour un groupe de conteneurs.
-
Objet DnsConfiguration |
| sku |
enum |
Non |
Référence SKU pour un groupe de conteneurs - Standard ou Dédié |
| cryptagePropriétés |
object |
Non |
Propriétés de chiffrement d’un groupe de conteneurs.
-
Objet EncryptionProperties |
| initContainers |
tableau |
Non |
Conteneurs init pour un groupe de conteneurs.
-
Objet InitContainerDefinition |
Container, objet
| Nom |
Catégorie |
Obligatoire |
Valeur |
| nom |
string |
Yes |
Nom fourni par l’utilisateur de l’instance de conteneur. |
| properties |
object |
Yes |
Propriétés de l’instance de conteneur.
-
ContainerProperties (objet) |
Objet ImageRegistryCredential
| Nom |
Catégorie |
Obligatoire |
Valeur |
| server |
string |
Yes |
Le serveur de Registre d’images Docker sans protocole tel que « http » et « https ». |
| username |
string |
Non |
Nom d’utilisateur du registre privé. |
| password |
string |
Non |
Mot de passe du registre privé. |
| identity |
string |
Non |
ID de ressource de l’identité managée affectée par l’utilisateur utilisée pour s’authentifier. L’identité managée affectée par le système n’est pas prise en charge pour les extractions d’images ACR. |
| identityUrl |
string |
Non |
URL d’identité du registre privé. |
Objet IpAddress
| Nom |
Catégorie |
Obligatoire |
Valeur |
| ports |
tableau |
Yes |
Liste des ports exposés sur le groupe de conteneurs.
-
Objet Port |
| type |
enum |
Yes |
Spécifie si l’adresse IP est exposée à l’Internet public ou au réseau virtuel privé. - Public ou privé |
| Ip |
string |
Non |
Adresse IP exposée à l’Internet public. |
| dnsNameLabel |
string |
Non |
Étiquette de nom DNS pour l’adresse IP. |
Objet Volume
| Nom |
Catégorie |
Obligatoire |
Valeur |
| nom |
string |
Yes |
Nom du volume. |
| azureFile |
object |
Non |
Volume De fichiers Azure.
-
Objet AzureFileVolume |
| emptyDir |
object |
Non |
Volume de répertoire vide. |
| secret |
object |
Non |
Volume de secrets. |
| gitRepo |
object |
Non |
Volume du dépôt Git.
-
Objet GitRepoVolume |
ContainerGroupDiagnostics (objet)
| Nom |
Catégorie |
Obligatoire |
Valeur |
| logAnalytics |
object |
Non |
Informations log Analytics du groupe de conteneurs.
-
Objet LogAnalytics |
ContainerGroupSubnetIds (objet)
| Nom |
Catégorie |
Obligatoire |
Valeur |
| id |
string |
Yes |
Identificateur d’un sous-réseau. |
| nom |
string |
Non |
Nom du sous-réseau. |
Objet DnsConfiguration
| Nom |
Catégorie |
Obligatoire |
Valeur |
| nameServers |
tableau |
Yes |
Serveurs DNS pour le groupe de conteneurs. - chaîne |
| searchDomains |
string |
Non |
Domaines de recherche DNS pour la recherche de nom d’hôte dans le groupe de conteneurs. |
| options |
string |
Non |
Options DNS pour le groupe de conteneurs. |
Objet EncryptionProperties
| Nom |
Catégorie |
Obligatoire |
Valeur |
| vaultBaseUrl |
string |
Yes |
URL de base du coffre de clés. |
| keyName |
string |
Yes |
Nom de la clé de chiffrement. |
| keyVersion |
string |
Yes |
Version de la clé de chiffrement. |
Objet InitContainerDefinition
Objet ContainerProperties
| Nom |
Catégorie |
Obligatoire |
Valeur |
| image |
string |
Yes |
Nom de l’image utilisée pour créer l’instance de conteneur. |
| command |
tableau |
Non |
Commandes à exécuter dans l’instance de conteneur sous forme exec. -String |
| ports |
tableau |
Non |
Ports exposés sur l’instance de conteneur.
-
ContainerPort (objet) |
| environmentVariables |
tableau |
Non |
Variables d’environnement à définir dans l’instance de conteneur.
-
Objet EnvironmentVariable |
| resources |
object |
Yes |
Configuration requise pour les ressources de l’instance de conteneur.
-
ResourceRequirements (objet) |
| volumeMontures |
tableau |
Non |
Montages de volume disponibles pour l’instance de conteneur.
-
Objet VolumeMount |
| vivacitéSonde |
object |
Non |
La sonde liveness.
-
ContainerProbe (objet) |
| état de préparationSonde |
object |
Non |
Sonde de préparation.
-
ContainerProbe (objet) |
Objet Port
| Nom |
Catégorie |
Obligatoire |
Valeur |
| protocol |
enum |
Non |
Protocole associé au port. - TCP ou UDP |
| port |
integer |
Yes |
Numéro de port. |
Objet AzureFileVolume
| Nom |
Catégorie |
Obligatoire |
Valeur |
| shareName |
string |
Yes |
Nom du partage de fichiers Azure à monter en tant que volume. |
| lecture seule |
booléen |
Non |
Indicateur indiquant si le fichier Azure partagé est monté en tant que volume en lecture seule. |
| storageAccountName |
string |
Yes |
Nom du compte de stockage qui contient le partage de fichiers Azure. |
| storageAccountKey |
string |
Non |
Clé d’accès au compte de stockage utilisée pour accéder au partage de fichiers Azure. |
Objet GitRepoVolume
| Nom |
Catégorie |
Obligatoire |
Valeur |
| directory |
string |
Non |
Nom du répertoire cible. Ne doit pas contenir ou commencer par '..'. Si « . » est fourni, le répertoire de volume est le dépôt git. Sinon, s’il est spécifié, le volume contient le référentiel git dans le sous-répertoire avec le nom donné. |
| répertoire |
string |
Yes |
URL du dépôt |
| révision |
string |
Non |
Valider le hachage pour la révision spécifiée. |
Objet LogAnalytics
| Nom |
Catégorie |
Obligatoire |
Valeur |
| workspaceId |
string |
Yes |
ID d’espace de travail pour Log Analytics |
| workspaceKey |
string |
Yes |
Clé d’espace de travail pour Log Analytics |
| workspaceResourceId |
string |
Non |
ID de ressource de l’espace de travail pour Log Analytics |
| logType de journal |
enum |
Non |
Type de journal à utiliser. - ContainerInsights ou ContainerInstanceLogs |
| metadata |
object |
Non |
Métadonnées pour Log Analytics. |
Objet InitContainerPropertiesDefinition
| Nom |
Catégorie |
Obligatoire |
Valeur |
| image |
string |
Non |
Image du conteneur init. |
| command |
tableau |
Non |
Commande à exécuter dans le conteneur init sous forme exec. - chaîne |
| environmentVariables |
tableau |
Non |
Variables d’environnement à définir dans le conteneur init.
-
Objet EnvironmentVariable |
| volumeMontures |
tableau |
Non |
Montages de volume disponibles pour le conteneur init.
-
Objet VolumeMount |
ContainerPort (objet)
| Nom |
Catégorie |
Obligatoire |
Valeur |
| protocol |
enum |
Non |
Protocole associé au port. - TCP ou UDP |
| port |
integer |
Yes |
Numéro de port exposé dans le groupe de conteneurs. |
Objet EnvironmentVariable
| Nom |
Catégorie |
Obligatoire |
Valeur |
| nom |
string |
Yes |
Nom de la variable d’environnement. |
| Valeur |
string |
Non |
Valeur de la variable d’environnement. |
| secureValue |
string |
Non |
Valeur de la variable d’environnement sécurisée. |
ResourceRequirements (objet)
| Nom |
Catégorie |
Obligatoire |
Valeur |
| requests |
object |
Yes |
Demandes de ressources de cette instance de conteneur.
-
Objet ResourceRequests |
| limites |
object |
Non |
Limites de ressources de cette instance de conteneur.
-
Objet ResourceLimits |
Objet VolumeMount
| Nom |
Catégorie |
Obligatoire |
Valeur |
| nom |
string |
Yes |
Nom du montage du volume. |
| mountPath |
string |
Yes |
Chemin d’accès au sein du conteneur où le volume doit être monté. Ne doit pas contenir de deux-points (:). |
| lecture seule |
booléen |
Non |
Indicateur indiquant si le montage de volume est en lecture seule. |
ContainerProbe (objet)
| Nom |
Catégorie |
Obligatoire |
Valeur |
| exec |
object |
Non |
Commande d’exécution à sonder - Objet ContainerExec |
| httpGet |
object |
Non |
Paramètres Http Get à sonder - Objet ContainerHttpGet |
| initialDelaySeconds |
integer |
Non |
Délai initial secondes. |
| periodSecondes |
integer |
Non |
Secondes de période. |
| failureThreshold |
integer |
Non |
Seuil d’échec. |
| successThreshold |
integer |
Non |
Seuil de réussite. |
| timeoutSeconds |
integer |
Non |
Délai d’expiration des secondes. |
Objet ResourceRequests
| Nom |
Catégorie |
Obligatoire |
Valeur |
| memoryInGB |
number |
Yes |
Demande de mémoire en Go de cette instance de conteneur. |
| CPU |
number |
Yes |
Demande d’UC de cette instance de conteneur. |
| gpu |
object |
Non |
Requête GPU de cette instance de conteneur.
-
Objet GpuResource |
Objet ResourceLimits
| Nom |
Catégorie |
Obligatoire |
Valeur |
| memoryInGB |
number |
Non |
Limite de mémoire en Go de cette instance de conteneur. |
| CPU |
number |
Non |
Limite du processeur de cette instance de conteneur. |
| gpu |
object |
Non |
Limite GPU de cette instance de conteneur.
-
Objet GpuResource |
ContainerExec (objet)
| Nom |
Catégorie |
Obligatoire |
Valeur |
| command |
tableau |
Non |
Commandes à exécuter dans le conteneur. -String |
ContainerHttpGet (objet)
| Nom |
Catégorie |
Obligatoire |
Valeur |
| path |
string |
Non |
Chemin d’accès à la sonde. |
| port |
integer |
Yes |
Numéro de port à sonder. |
| scheme |
enum |
Non |
Le schéma. - http ou https |
| httpHeaders (en-tête http) |
object |
Non |
En-têtes HTTP inclus dans la sonde.
-
Objet HttpHeaders |
| Nom |
Catégorie |
Obligatoire |
Valeur |
| nom |
string |
Non |
Nom de l’en-tête. |
| Valeur |
string |
Non |
Valeur de l’en-tête. |
Important
Les références SKU GPU K80 et P100 sont mises hors service le 31 août 2023. Cela est dû à la mise hors service des machines virtuelles sous-jacentes utilisées : série NC et série NCv2 Bien que les références SKU V100 soient disponibles, il est réapparaît à utiliser Azure Kubernetes Service à la place. Les ressources GPU ne sont pas entièrement prises en charge et ne doivent pas être utilisées pour les charges de travail de production. Utilisez les ressources suivantes pour migrer vers AKS aujourd’hui : Comment migrer vers AKS.
Objet GpuResource
| Nom |
Catégorie |
Obligatoire |
Valeur |
| count |
integer |
Yes |
Nombre de ressources GPU. |
| sku |
enum |
Yes |
Référence SKU de la ressource GPU. - V100 |
Étapes suivantes
Consultez le tutoriel Déployer un groupe à plusieurs conteneurs à l’aide d’un fichier YAML.
Consultez des exemples d’utilisation d’un fichier YAML pour déployer des groupes de conteneurs dans un réseau virtuel ou qui montent un volume externe.