In dit artikel worden de syntaxis en eigenschappen voor het YAML-bestand beschreven dat wordt ondersteund door Azure Container Instances om een containergroep te configureren. Gebruik een YAML-bestand om de groepsconfiguratie in te voeren voor de opdracht az container create in de Azure CLI.
Een YAML-bestand is een handige manier om een containergroep te configureren voor reproduceerbare implementaties. Het is een beknopt alternatief voor het gebruik van een Resource Manager-sjabloon of de Azure Container Instances SDK's om een containergroep te maken of bij te werken.
Notitie
Deze verwijzing is van toepassing op YAML-bestanden voor de REST API-versie 2021-10-01
van Azure Container Instances.
Schema
Het schema voor het YAML-bestand volgt, inclusief opmerkingen om belangrijke eigenschappen te markeren. Zie de sectie Eigenschapswaarden voor een beschrijving van de eigenschappen in dit schema.
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
Eigenschapswaarden
In de volgende tabellen worden de waarden beschreven die u in het schema moet instellen.
Microsoft.ContainerInstance/containerGroups-object
Name |
Type |
Vereist |
Weergegeven als |
naam |
tekenreeks |
Ja |
De naam van de containergroep. |
apiVersion |
enum |
Ja |
2021-10-01 (nieuwste), 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 |
locatie |
tekenreeks |
Nee |
De resourcelocatie. |
tags |
object |
Nee |
De resourcetags. |
identity |
object |
Nee |
De identiteit van de containergroep, indien geconfigureerd. - ContainerGroupIdentity-object |
properties |
object |
Ja |
ContainerGroupProperties-object |
ContainerGroupIdentity-object
Name |
Type |
Vereist |
Weergegeven als |
type |
enum |
Nee |
Het type identiteit dat wordt gebruikt voor de containergroep. Het type SystemAssigned, UserAssigned bevat zowel een impliciet gemaakte identiteit als een set door de gebruiker toegewezen identiteiten. Met het type None worden alle identiteiten uit de containergroep verwijderd. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None |
userAssignedIdentities |
object |
Nee |
De lijst met gebruikersidentiteiten die zijn gekoppeld aan de containergroep. De sleutelverwijzingen voor de gebruikersidentiteitswoordenlijst zijn Resource Manager-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. |
ContainerGroupProperties-object
Name |
Type |
Vereist |
Weergegeven als |
containers |
matrix |
Ja |
De containers binnen de containergroep. - Containerobject |
imageRegistryCredentials |
matrix |
Nee |
De registerreferenties van de installatiekopieën waarop de containergroep is gemaakt. - ImageRegistryCredential-object |
restartPolicy |
enum |
Nee |
Start het beleid opnieuw op voor alle containers in de containergroep. - Always Altijd opnieuw opstarten- OnFailure Opnieuw opstarten bij fout- Never Nooit opnieuw opstarten. - Altijd, OnFailure, Nooit |
ipAddress |
object |
Nee |
Het IP-adrestype van de containergroep. - IpAddress-object |
osType |
enum |
Ja |
Het type besturingssysteem dat is vereist voor de containers in de containergroep. - Windows of Linux |
volumes |
matrix |
Nee |
De lijst met volumes die containers in deze containergroep kunnen koppelen. - Volumeobject |
diagnostische gegevens |
object |
Nee |
De diagnostische gegevens voor een containergroep. - ContainerGroupDiagnostics-object |
subnet-id's |
object |
Nee |
De subnetgegevens voor een containergroep. - ContainerGroupSubnetIds-object |
dnsConfig |
object |
Nee |
De DNS-configuratiegegevens voor een containergroep. - DnsConfiguration-object |
sku |
enum |
Nee |
De SKU voor een containergroep - Standard of Dedicated |
encryptionProperties |
object |
Nee |
De versleutelingseigenschappen voor een containergroep. - EncryptionProperties-object |
initContainers |
matrix |
Nee |
De init-containers voor een containergroep. - InitContainerDefinition-object |
Containerobject
Name |
Type |
Vereist |
Weergegeven als |
naam |
tekenreeks |
Ja |
De door de gebruiker opgegeven naam van het containerexemplaren. |
properties |
object |
Ja |
De eigenschappen van de containerinstantie. - ContainerProperties-object |
ImageRegistryCredential-object
Name |
Type |
Vereist |
Weergegeven als |
server |
tekenreeks |
Ja |
De Docker-installatiekopieënregisterserver zonder protocol zoals http en https. |
gebruikersnaam |
tekenreeks |
Nee |
De gebruikersnaam voor het privéregister. |
password |
tekenreeks |
Nee |
Het wachtwoord voor het privéregister. |
identity |
tekenreeks |
Nee |
De resource-id van de door de gebruiker of het systeem toegewezen beheerde identiteit die wordt gebruikt voor verificatie. |
identityUrl |
tekenreeks |
Nee |
De identiteits-URL voor het privéregister. |
IpAddress-object
Name |
Type |
Vereist |
Weergegeven als |
poorten |
matrix |
Ja |
De lijst met poorten die beschikbaar zijn voor de containergroep. - Poortobject |
type |
enum |
Ja |
Hiermee geeft u op of het IP-adres beschikbaar is voor het openbare internet of het particuliere virtuele netwerk. - Openbaar of Privé |
IP |
tekenreeks |
Nee |
Het IP-adres dat beschikbaar is voor het openbare internet. |
dnsNameLabel |
tekenreeks |
Nee |
Het DNS-naamlabel voor het IP-adres. |
Volumeobject
Name |
Type |
Vereist |
Weergegeven als |
naam |
tekenreeks |
Ja |
De naam van het volume. |
azureFile |
object |
Nee |
Het Azure File-volume. - AzureFileVolume-object |
emptyDir |
object |
Nee |
Het lege mapvolume. |
geheim |
object |
Nee |
Het geheime volume. |
gitRepo |
object |
Nee |
Het git-opslagplaatsvolume. - GitRepoVolume-object |
ContainerGroupDiagnostics-object
Name |
Type |
Vereist |
Weergegeven als |
logAnalytics |
object |
Nee |
Log Analytics-gegevens voor containergroepen. - LogAnalytics-object |
ContainerGroupSubnetIds-object
Name |
Type |
Vereist |
Weergegeven als |
id |
string |
Ja |
De id voor een subnet. |
naam |
string |
Nee |
De naam van het subnet. |
DnsConfiguration-object
Name |
Type |
Vereist |
Weergegeven als |
nameServers |
matrix |
Ja |
De DNS-servers voor de containergroep. -snaar |
searchDomains |
tekenreeks |
Nee |
De DNS-zoekdomeinen voor het opzoeken van hostnamen in de containergroep. |
Opties |
tekenreeks |
Nee |
De DNS-opties voor de containergroep. |
EncryptionProperties-object
Name |
Type |
Vereist |
Weergegeven als |
vaultBaseUrl |
tekenreeks |
Ja |
De basis-URL van keyvault. |
keyName |
tekenreeks |
Ja |
De naam van de versleutelingssleutel. |
keyVersion |
tekenreeks |
Ja |
De versie van de versleutelingssleutel. |
InitContainerDefinition-object
ContainerProperties-object
Name |
Type |
Vereist |
Weergegeven als |
image |
tekenreeks |
Ja |
De naam van de installatiekopieën die worden gebruikt om de containerinstantie te maken. |
opdracht |
matrix |
Nee |
De opdrachten die moeten worden uitgevoerd in het containerexemplaren in exec-formulier. -snaar |
poorten |
matrix |
Nee |
De weergegeven poorten op het containerexemplaren. - ContainerPort-object |
environmentVariables |
matrix |
Nee |
De omgevingsvariabelen die moeten worden ingesteld in de containerinstantie. - EnvironmentVariable-object |
resources |
object |
Ja |
De resourcevereisten van het containerexemplaren. - ResourceRequirements-object |
volumeMounts |
matrix |
Nee |
Het volume wordt gekoppeld aan de containerinstantie. - VolumeMount-object |
livenessProbe |
object |
Nee |
De levendheidstest. - ContainerProbe-object |
readinessProbe |
object |
Nee |
De gereedheidstest. - ContainerProbe-object |
Poortobject
Name |
Type |
Vereist |
Weergegeven als |
protocol |
enum |
Nee |
Het protocol dat is gekoppeld aan de poort. - TCP of UDP |
poort |
geheel getal |
Ja |
het poortnummer. |
AzureFileVolume-object
Name |
Type |
Vereist |
Weergegeven als |
shareName |
tekenreeks |
Ja |
De naam van de Azure-bestandsshare die als volume moet worden gekoppeld. |
readOnly |
boolean |
Nee |
De vlag die aangeeft of het Gedeelde Azure-bestand als een volume alleen-lezen is. |
storageAccountName |
tekenreeks |
Ja |
De naam van het opslagaccount dat de Azure-bestandsshare bevat. |
storageAccountKey |
tekenreeks |
Nee |
De toegangssleutel voor het opslagaccount die wordt gebruikt voor toegang tot de Azure-bestandsshare. |
GitRepoVolume-object
Name |
Type |
Vereist |
Weergegeven als |
map |
tekenreeks |
Nee |
Naam van doelmap. Mag niet bevatten of beginnen met ... Als '.' wordt opgegeven, is de volumemap de Git-opslagplaats. Anders, indien opgegeven, bevat het volume de Git-opslagplaats in de submap met de opgegeven naam. |
repository |
tekenreeks |
Ja |
URL van opslagplaats |
revision |
tekenreeks |
Nee |
Hash doorvoeren voor de opgegeven revisie. |
LogAnalytics-object
Name |
Type |
Vereist |
Weergegeven als |
workspaceId |
tekenreeks |
Ja |
De werkruimte-id voor Log Analytics |
workspaceKey |
tekenreeks |
Ja |
De werkruimtesleutel voor Log Analytics |
workspaceResourceId |
tekenreeks |
Nee |
De resource-id van de werkruimte voor Log Analytics |
logType |
enum |
Nee |
Het logboektype dat moet worden gebruikt. - ContainerInsights of ContainerInstanceLogs |
metagegevens |
object |
Nee |
Metagegevens voor log analytics. |
InitContainerPropertiesDefinition-object
Name |
Type |
Vereist |
Weergegeven als |
image |
tekenreeks |
Nee |
De installatiekopieën van de init-container. |
opdracht |
matrix |
Nee |
De opdracht die moet worden uitgevoerd in de init-container in exec-formulier. -snaar |
environmentVariables |
matrix |
Nee |
De omgevingsvariabelen die moeten worden ingesteld in de init-container. - EnvironmentVariable-object |
volumeMounts |
matrix |
Nee |
Het volume wordt gekoppeld aan de init-container. - VolumeMount-object |
ContainerPort-object
Name |
Type |
Vereist |
Weergegeven als |
protocol |
enum |
Nee |
Het protocol dat is gekoppeld aan de poort. - TCP of UDP |
poort |
geheel getal |
Ja |
Het poortnummer dat wordt weergegeven in de containergroep. |
EnvironmentVariable-object
Name |
Type |
Vereist |
Weergegeven als |
naam |
tekenreeks |
Ja |
De naam van de omgevingsvariabele. |
waarde |
tekenreeks |
Nee |
De waarde van de omgevingsvariabele. |
secureValue |
tekenreeks |
Nee |
De waarde van de beveiligde omgevingsvariabele. |
ResourceRequirements-object
VolumeMount-object
Name |
Type |
Vereist |
Weergegeven als |
naam |
tekenreeks |
Ja |
De naam van de volumekoppeling. |
mountPath |
tekenreeks |
Ja |
Het pad in de container waar het volume moet worden gekoppeld. Mag geen dubbele punt (:)) bevatten. |
readOnly |
boolean |
Nee |
De vlag die aangeeft of de volumekoppeling alleen-lezen is. |
ContainerProbe-object
Name |
Type |
Vereist |
Weergegeven als |
Exec |
object |
Nee |
De opdracht voor uitvoering om te testen - ContainerExec-object |
httpGet |
object |
Nee |
De Http Get-instellingen om te testen - ContainerHttpGet-object |
initialDelaySeconds |
geheel getal |
Nee |
De eerste vertragings seconden. |
periodSeconden |
geheel getal |
Nee |
De seconden van de periode. |
failureThreshold |
geheel getal |
Nee |
De drempelwaarde voor fouten. |
successThreshold |
geheel getal |
Nee |
De slagingsdrempel. |
time-outSeconden |
geheel getal |
Nee |
De time-out seconden. |
ResourceRequests-object
Name |
Type |
Vereist |
Weergegeven als |
memoryInGB |
Nummer |
Ja |
De geheugenaanvraag in GB van deze containerinstantie. |
cpu |
Nummer |
Ja |
De CPU-aanvraag van deze containerinstantie. |
gpu |
object |
Nee |
De GPU-aanvraag van deze containerinstantie. - GpuResource-object |
ResourceLimits-object
Name |
Type |
Vereist |
Weergegeven als |
memoryInGB |
Nummer |
Nee |
De geheugenlimiet in GB van deze containerinstantie. |
cpu |
Nummer |
Nee |
De CPU-limiet van deze containerinstantie. |
gpu |
object |
Nee |
De GPU-limiet van deze containerinstantie. - GpuResource-object |
ContainerExec-object
Name |
Type |
Vereist |
Weergegeven als |
opdracht |
matrix |
Nee |
De opdrachten die in de container moeten worden uitgevoerd. -snaar |
ContainerHttpGet-object
Name |
Type |
Vereist |
Weergegeven als |
path |
tekenreeks |
Nee |
Het pad om te testen. |
poort |
geheel getal |
Ja |
Het poortnummer dat moet worden uitgevoerd. |
scheme |
enum |
Nee |
Het schema. - http of https |
httpHeaders |
object |
Nee |
De HTTP-headers die zijn opgenomen in de test. - HttpHeaders-object |
Name |
Type |
Vereist |
Weergegeven als |
naam |
string |
Nee |
Naam van de koptekst. |
waarde |
tekenreeks |
Nee |
Waarde van de koptekst. |
Belangrijk
K80- en P100 GPU-SKU's worden op 31 augustus 2023 buiten gebruik gesteld. Dit is het gevolg van de buitengebruikstelling van de onderliggende VM's die worden gebruikt: NC-serie en NCv2-serie , hoewel V100-SKU's beschikbaar zijn, wordt het aanbevolen azure Kubernetes Service te gebruiken. GPU-resources worden niet volledig ondersteund en mogen niet worden gebruikt voor productieworkloads. Gebruik de volgende resources om vandaag naar AKS te migreren: Migreren naar AKS.
GpuResource-object
Name |
Type |
Vereist |
Weergegeven als |
aantal |
geheel getal |
Ja |
Het aantal GPU-resources. |
sku |
enum |
Ja |
De SKU van de GPU-resource. - V100 |
Volgende stappen
Zie de zelfstudie Een groep met meerdere containers implementeren met behulp van een YAML-bestand.
Zie voorbeelden van het gebruik van een YAML-bestand voor het implementeren van containergroepen in een virtueel netwerk of het koppelen van een extern volume.