Informations de référence YAML : Azure Container Instances
Article
Cet article traite de la syntaxe et des propriétés du fichier YAML pris en charge par Azure Container Instances pour configurer un groupe de conteneurs. Vous pouvez utiliser un fichier YAML pour entrer la configuration du groupe dans la commande az container create dans Azure CLI.
Un fichier YAML est un moyen pratique de configurer un groupe de conteneurs pour des déploiements reproductibles. Plutôt que d’utiliser un modèle Resource Manager ou les kits SDK Azure Container Instances pour créer ou mettre à jour un groupe de conteneurs, il s’agit d’une solution de rechange succincte.
Notes
Ces informations de référence s’appliquent aux fichiers YAML pour l’API REST Azure Container Instances version 2021-10-01.
schéma
Le schéma du fichier YAML vous est présenté ci-dessous. Il comporte des commentaires pour mettre en avant les principales propriétés. Pour obtenir une description des propriétés de ce schéma, consultez la section Valeurs de propriétés.
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
dnsNameLabelReusePolicy: 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és
Les tableaux suivants décrivent les valeurs que vous devez définir dans le schéma.
Objet Microsoft.ContainerInstance/containerGroups
Nom
Type
Obligatoire
active
name
string
Oui
Nom du groupe de conteneurs.
apiVersion
enum
Oui
2021-10-01 (la plus récente), 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
Type d’identité utilisé pour le groupe de conteneurs. Le type « SystemAssigned, UserAssigned » comprend à la fois une identité créée implicitement et un ensemble d’identités attribué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 d’identités utilisateur associées au groupe de conteneurs. Les références de clé de dictionnaire d’identité utilisateur sont des ID de ressource Azure Resource Manager sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} ».
Objet ContainerGroupProperties
Nom
Type
Obligatoire
Valeur
containers
tableau
Oui
Conteneurs présents dans le groupe de conteneurs. - Objet Container
imageRegistryCredentials
tableau
Non
Informations d’identification du registre d’images à partir desquelles le groupe de conteneurs est créé. - Objet ImageRegistryCredential
restartPolicy
enum
Non
Stratégie de redémarrage pour tous les conteneurs présents dans le groupe de conteneurs. - Always Toujours redémarrer – OnFailure Redémarrer en cas d’échec – Never Ne jamais redémarrer. - Always, OnFailure, Never
ipAddress
object
Non
Type d’adresse IP du groupe de conteneurs. - Objet IpAddress
osType
enum
Oui
Type de système d’exploitation exigé par les conteneurs présents 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
Nom du partage de fichiers Azure à monter en tant que volume.
readOnly
boolean
Non
Indicateur précisant si le partage de fichiers Azure monté en tant que volume est en lecture seule.
storageAccountName
string
Oui
Nom du compte de stockage qui contient le partage de fichiers Azure.
storageAccountKey
string
Non
Clé d’accès du compte de stockage utilisée pour accéder au partage de fichiers Azure.
Objet GitRepoVolume
Nom
Type
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é.
repository
string
Oui
URL du dépôt
revision
string
Non
Hachage de validation pour la révision spécifiée.
Objet LogAnalytics
Nom
Type
Obligatoire
Valeur
workspaceId
string
Oui
ID d’espace de travail pour l’analytique des journaux
workspaceKey
string
Oui
Clé d’espace de travail pour l’analytique des journaux.
workspaceResourceId
string
Non
ID de ressource d’espace de travail pour l’analytique des journaux.
logType
enum
Non
Type de journal à utiliser. - ContainerInsights ou ContainerInstanceLogs
metadata
object
Non
Métadonnées pour l’analytique des journaux.
Objet InitContainerPropertiesDefinition
Nom
Type
Obligatoire
Valeur
image
string
Non
Image du conteneur d'initialisation.
command
tableau
Non
Commande à exécuter dans le conteneur d'initialisation dans le formulaire exec. - string
Les références SKU K80 et P100 du GPU seront retirées du marché d'ici 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 recommandé d’utiliser plutôt Azure Kubernetes Service. Les ressources du GPU ne sont pas entièrement prises en charge et ne doivent pas servir pour les charges de travail de production. Utilisez les ressources suivantes pour effectuer une migration vers AKS aujourd’hui : Guide pratique pour migrer vers AKS.