W tym artykule opisano składnię i właściwości pliku YAML obsługiwanego przez usługę 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 usługi Resource Manager lub zestawów SDK usługi Azure Container Instances w celu utworzenia lub zaktualizowania grupy kontenerów.
Uwaga
Ta dokumentacja dotyczy plików YAML dla interfejsu API REST usługi Azure Container Instances w wersji 2021-10-01.
Schemat
Schemat pliku YAML jest następujący, w tym komentarze do wyróżniania kluczowych właściwości. Opis właściwości w tym schemacie znajduje się w sekcji 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.
Microsoft.ContainerInstance/containerGroups, obiekt
Typ tożsamości używany 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 "None" usuwa wszystkie tożsamości z grupy kontenerów. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities
obiekt
Nie.
Lista tożsamości użytkowników skojarzonych z grupą kontenerów. Odwołania do klucza słownika tożsamości użytkownika to identyfikatory zasobów usługi 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 ponowne uruchamianie po niepowodzeniu — 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 zainstalowany jako wolumin jest tylko do odczytu.
storageAccountName
string
Tak
Nazwa konta magazynu zawierającego udział plików platformy Azure.
storageAccountKey
string
Nie
Klucz dostępu konta magazynu używany do uzyskiwania dostępu do udziału plików platformy Azure.
GitRepoVolume, obiekt
Nazwisko
Type
Wymagania
Wartość
katalog
string
Nie
Nazwa katalogu docelowego. Nie może zawierać ani rozpoczynać się od ".". Jeśli element "." jest dostarczany, katalog woluminu jest repozytorium git. W przeciwnym razie, jeśli zostanie określony, wolumin zawiera repozytorium git w podkatalogu o podanej nazwie.
repozytorium
string
Tak
Adres URL repozytorium
revision
string
Nie
Zatwierdź skrót dla określonej poprawki.
LogAnalytics, obiekt
Nazwisko
Type
Wymagania
Wartość
workspaceId
string
Tak
Identyfikator obszaru roboczego dla usługi Log Analytics
workspaceKey
string
Tak
Klucz obszaru roboczego na potrzeby analizy dzienników
workspaceResourceId
string
Nie
Identyfikator zasobu obszaru roboczego na potrzeby analizy dzienników
logType
wyliczenie
Nie.
Typ dziennika do użycia. — ContainerInsights lub ContainerInstanceLogs
metadane
obiekt
Nie.
Metadane analizy dzienników.
InitContainerPropertiesDefinition, obiekt
Nazwisko
Type
Wymagania
Wartość
obraz
string
Nie
Obraz kontenera init.
polecenie
tablica
Nie.
Polecenie do wykonania w kontenerze init w formularzu exec. -struna
Jednostki SKU procesora GPU K80 i P100 zostaną wycofane do 31 sierpnia 2023 r. Jest to spowodowane wycofaniem używanych maszyn wirtualnych: serii NC i serii NCv2, chociaż jednostki SKU V100 będą dostępne, zostanie ona zmieniona, aby zamiast tego użyć usługi Azure Kubernetes Service. 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.