W tym artykule opisano składnię i właściwości pliku YAML obsługiwanego przez Azure Container Instances w celu skonfigurowania grupy kontenerów. Użyj pliku YAML, aby wprowadzić konfigurację grupy do polecenia az container create w interfejsie wiersza polecenia platformy Azure.
Plik YAML to wygodny sposób konfigurowania grupy kontenerów na potrzeby powtarzalnych wdrożeń. Jest to zwięzła alternatywa dla używania szablonu Resource Manager lub zestawów SDK Azure Container Instances do tworzenia lub aktualizowania grupy kontenerów.
Uwaga
Ta dokumentacja dotyczy plików YAML dla wersji 2021-10-01interfejsu API REST Azure Container Instances .
Schemat
Schemat pliku YAML jest następujący, w tym komentarze do wyróżniania właściwości klucza. Aby uzyskać opis właściwości w tym schemacie, zobacz sekcję Wartości właściwości .
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
Wartości właściwości
W poniższych tabelach opisano wartości, które należy ustawić w schemacie.
Obiekt Microsoft.ContainerInstance/containerGroups
Typ tożsamości używanej dla grupy kontenerów. Typ "SystemAssigned, UserAssigned" zawiera zarówno niejawnie utworzoną tożsamość, jak i zestaw tożsamości przypisanych przez użytkownika. Typ "Brak" spowoduje usunięcie tożsamości z grupy kontenerów. — SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities
object
Nie
Lista tożsamości użytkowników skojarzonych z grupą kontenerów. Odwołania do klucza słownika tożsamości użytkownika będą identyfikatorami zasobów platformy Azure Resource Manager w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}".
Uruchom ponownie zasady dla wszystkich kontenerów w grupie kontenerów. - Always Zawsze uruchamiaj ponownie — OnFailure uruchom ponownie po awarii — Never nigdy nie uruchamiaj ponownie. - Zawsze, OnFailure, Nigdy
Nazwa udziału plików platformy Azure, który ma zostać zainstalowany jako wolumin.
Readonly
boolean
Nie
Flaga wskazująca, czy udostępniony plik platformy Azure jest zainstalowany jako wolumin tylko do odczytu.
storageAccountName
ciąg
Tak
Nazwa konta magazynu zawierającego udział plików platformy Azure.
storageAccountKey
ciąg
Nie
Klucz dostępu do konta magazynu używany do uzyskiwania dostępu do udziału plików platformy Azure.
Obiekt GitRepoVolume
Nazwa
Typ
Wymagane
Wartość
katalog
ciąg
Nie
Nazwa katalogu docelowego. Nie może zawierać ani rozpoczynać się od '..'. Jeśli parametr "." zostanie dostarczony, katalog woluminu będzie repozytorium git. W przeciwnym razie, jeśli zostanie określony, wolumin będzie zawierać repozytorium git w podkatalogu o podanej nazwie.
repozytorium
ciąg
Tak
Adres URL repozytorium
revision
ciąg
Nie
Zatwierdź skrót dla określonej poprawki.
Obiekt LogAnalytics
Nazwa
Typ
Wymagane
Wartość
workspaceId
ciąg
Tak
Identyfikator obszaru roboczego do analizy dzienników
workspaceKey
ciąg
Tak
Klucz obszaru roboczego do analizy dzienników
workspaceResourceId
ciąg
Nie
Identyfikator zasobu obszaru roboczego dla usługi Log Analytics
logType
enum
Nie
Typ dziennika, który ma być używany. — ContainerInsights lub ContainerInstanceLogs
metadane
object
Nie
Metadane analizy dzienników.
InitContainerPropertiesDefinition, obiekt
Nazwa
Typ
Wymagane
Wartość
image (obraz)
ciąg
Nie
Obraz kontenera init.
command
array
Nie
Polecenie do wykonania w kontenerze init w postaci exec. -Ciąg
Jednostki SKU procesora GPU K80 i P100 zostaną wycofane do 31 sierpnia 2023 r. Jest to spowodowane wycofaniem bazowych maszyn wirtualnych używanych: serii NC i serii NCv2, chociaż jednostki SKU V100 będą dostępne, zostanie zmieniona, aby użyć Azure Kubernetes Service zamiast tego. Zasoby procesora GPU nie są w pełni obsługiwane i nie powinny być używane w przypadku obciążeń produkcyjnych. Użyj następujących zasobów, aby przeprowadzić migrację do usługi AKS dzisiaj: Jak przeprowadzić migrację do usługi AKS.