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 Azure CLI.
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.
Note
Ta dokumentacja dotyczy plików YAML dla interfejsu API REST 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
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
Wartości właściwości
W poniższych tabelach opisano wartości, które należy ustawić w schemacie.
Microsoft. KontenerInstance/containerGroups, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| nazwa |
ciąg |
Yes |
Nazwa grupy kontenerów. |
| apiVersion |
wyliczenie |
Yes |
2021-10-01 (najnowsze), 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 |
| lokalizacja |
ciąg |
No |
Lokalizacja zasobu. |
| tags |
obiekt |
No |
Tagi zasobów. |
| tożsamość |
obiekt |
No |
Tożsamość grupy kontenerów, jeśli została skonfigurowana.
-
ContainerGroupIdentity, obiekt |
| properties |
obiekt |
Yes |
ContainerGroupProperties, obiekt |
ContainerGroupIdentity, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| typ |
wyliczenie |
No |
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 |
No |
Lista tożsamości użytkowników skojarzonych z grupą kontenerów. Odwołania do klucza słownika tożsamości użytkownika są Azure Resource Manager identyfikatorami zasobów w postaci: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft. ManagedIdentity/userAssignedIdentities/{identityName}". |
ContainerGroupProperties, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| Pojemniki |
macierz |
Yes |
Kontenery w grupie kontenerów.
-
Obiekt kontenera |
| imageRegistryCredentials (Dane uwierzytelniające imageRegistryCredentials) |
macierz |
No |
Poświadczenia rejestru obrazów, na podstawie których jest tworzona grupa kontenerów.
-
ImageRegistryCredential, obiekt |
| zasadaPonownegoUruchamiania |
wyliczenie |
No |
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 |
| ipAddress |
obiekt |
No |
Typ adresu IP grupy kontenerów.
-
Obiekt IpAddress |
| osType (typ systemu) |
wyliczenie |
Yes |
Typ systemu operacyjnego wymagany przez kontenery w grupie kontenerów. - Windows lub Linux |
| volumes |
macierz |
No |
Lista woluminów, które kontenery w tej grupie kontenerów mogą zainstalować.
-
Obiekt woluminu |
| diagnostics |
obiekt |
No |
Informacje diagnostyczne dla grupy kontenerów.
-
ContainerGroupDiagnostics, obiekt |
| identyfikatory podsieci |
obiekt |
No |
Informacje o podsieci dla grupy kontenerów.
-
ContainerGroupSubnetIds, obiekt |
| dnsConfig (konfiguracja systemu dns) |
obiekt |
No |
Informacje o konfiguracji DNS dla grupy kontenerów.
-
DnsConfiguration, obiekt |
| sku |
wyliczenie |
No |
Jednostka SKU dla grupy kontenerów — Standardowa lub Dedykowana |
| encryptionProperties (właściwości szyfrowania) |
obiekt |
No |
Właściwości szyfrowania dla grupy kontenerów.
-
EncryptionProperties, obiekt |
| initContainers (Kontenery init) |
macierz |
No |
Kontenery inicjowania dla grupy kontenerów.
-
InitContainerDefinition, obiekt |
Obiekt kontenera
| Name |
Typ |
Wymagane |
Wartość |
| nazwa |
ciąg |
Yes |
Podana przez użytkownika nazwa wystąpienia kontenera. |
| properties |
obiekt |
Yes |
Właściwości wystąpienia kontenera.
-
ContainerProperties, obiekt |
ImageRegistryCredential, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| serwer |
ciąg |
Yes |
Serwer rejestru obrazów platformy Docker bez protokołu, takiego jak "http" i "https". |
| nazwa użytkownika |
ciąg |
No |
Nazwa użytkownika rejestru prywatnego. |
| hasło |
ciąg |
No |
Hasło dla rejestru prywatnego. |
| tożsamość |
ciąg |
No |
Identyfikator zasobu tożsamości zarządzanej przypisanej przez użytkownika używany do uwierzytelniania. Tożsamość zarządzana przypisana przez system nie jest obsługiwana w przypadku ściągania obrazów usługi ACR. |
| identityUrl (adres URL tożsamości) |
ciąg |
No |
Adres URL tożsamości dla rejestru prywatnego. |
Obiekt IpAddress
| Name |
Typ |
Wymagane |
Wartość |
| ports |
macierz |
Yes |
Lista portów uwidocznionych w grupie kontenerów.
-
Obiekt portu |
| typ |
wyliczenie |
Yes |
Określa, czy adres IP jest uwidoczniony dla publicznej sieci wirtualnej lub prywatnej sieci wirtualnej. - Publiczny lub prywatny |
| Ip |
ciąg |
No |
Adres IP uwidoczniony w publicznym Internecie. |
| dnsNameLabel (etykietaNazwy dns) |
ciąg |
No |
Etykieta nazwy DNS dla adresu IP. |
Obiekt woluminu
| Name |
Typ |
Wymagane |
Wartość |
| nazwa |
ciąg |
Yes |
Nazwa woluminu. |
| azureFile (plik azure) |
obiekt |
No |
Wolumin usługi Azure File.
-
AzureFileVolume, obiekt |
| emptyDir |
obiekt |
No |
Pusty wolumin katalogu. |
| klucz tajny |
obiekt |
No |
Wolumin tajny. |
| gitRepo |
obiekt |
No |
Wolumin repozytorium git.
-
GitRepoVolume, obiekt |
ContainerGroupDiagnostics, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| logAnalytics |
obiekt |
No |
Informacje analizy dzienników grupy kontenerów.
-
LogAnalytics, obiekt |
ContainerGroupSubnetIds, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| identyfikator |
ciąg |
Yes |
Identyfikator podsieci. |
| nazwa |
ciąg |
No |
Nazwa podsieci. |
DnsConfiguration, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| nameServers (serwery nazw) |
macierz |
Yes |
Serwery DNS dla grupy kontenerów. -Ciąg |
| searchDomains (Domeny wyszukiwania) |
ciąg |
No |
Domeny wyszukiwania DNS dla wyszukiwania nazwy hosta w grupie kontenerów. |
| options |
ciąg |
No |
Opcje DNS dla grupy kontenerów. |
EncryptionProperties, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| vaultBaseUrl (adres URL magazynu) |
ciąg |
Yes |
Podstawowy adres URL usługi Keyvault. |
| nazwaKlucza |
ciąg |
Yes |
Nazwa klucza szyfrowania. |
| keyVersion |
ciąg |
Yes |
Wersja klucza szyfrowania. |
InitContainerDefinition, obiekt
ContainerProperties, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| obraz |
ciąg |
Yes |
Nazwa obrazu użytego do utworzenia wystąpienia kontenera. |
| command |
macierz |
No |
Polecenia do wykonania w ramach wystąpienia kontenera w formularzu exec. -Ciąg |
| ports |
macierz |
No |
Uwidocznione porty w wystąpieniu kontenera.
-
ContainerPort, obiekt |
| environmentVariables |
macierz |
No |
Zmienne środowiskowe do ustawienia w wystąpieniu kontenera.
-
EnvironmentVariable, obiekt |
| resources |
obiekt |
Yes |
Wymagania dotyczące zasobów wystąpienia kontenera.
-
ResourceRequirements, obiekt |
| WoluminInstalacje |
macierz |
No |
Woluminy są montowane w wystąpieniu kontenera.
-
VolumeMount, obiekt |
| livenessSonda |
obiekt |
No |
Sonda liveness.
-
KontenerProbe, obiekt |
| gotowośćProbe |
obiekt |
No |
Sonda gotowości.
-
KontenerProbe, obiekt |
Obiekt portu
| Name |
Typ |
Wymagane |
Wartość |
| protokół |
wyliczenie |
No |
Protokół skojarzony z portem. - TCP lub UDP |
| port |
liczba całkowita |
Yes |
Numer portu. |
AzureFileVolume, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| shareName |
ciąg |
Yes |
Nazwa udziału plików platformy Azure, który ma zostać zainstalowany jako wolumin. |
| readOnly (tylko do odczytu) |
boolean |
No |
Flaga wskazująca, czy udostępniony plik platformy Azure zainstalowany jako wolumin jest tylko do odczytu. |
| nazwaKontaPrzechowywania |
ciąg |
Yes |
Nazwa konta magazynu zawierającego udział plików platformy Azure. |
| storageAccountKey |
ciąg |
No |
Klucz dostępu konta magazynu używany do uzyskiwania dostępu do udziału plików platformy Azure. |
GitRepoVolume, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| katalog |
ciąg |
No |
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 |
ciąg |
Yes |
Adres URL repozytorium |
| rewizja |
ciąg |
No |
Zatwierdź skrót dla określonej poprawki. |
LogAnalytics, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| workspaceId |
ciąg |
Yes |
Identyfikator obszaru roboczego dla usługi Log Analytics |
| klucz przestrzeni roboczej |
ciąg |
Yes |
Klucz obszaru roboczego na potrzeby analizy dzienników |
| IdentyfikatorZasobuPrzestrzeniRoboczej |
ciąg |
No |
Identyfikator zasobu obszaru roboczego na potrzeby analizy dzienników |
| logType (typ loga) |
wyliczenie |
No |
Typ dziennika do użycia. — ContainerInsights lub ContainerInstanceLogs |
| metadane |
obiekt |
No |
Metadane analizy dzienników. |
InitContainerPropertiesDefinition, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| obraz |
ciąg |
No |
Obraz kontenera init. |
| command |
macierz |
No |
Polecenie do wykonania w kontenerze init w formularzu exec. -Ciąg |
| environmentVariables |
macierz |
No |
Zmienne środowiskowe do ustawienia w kontenerze init.
-
EnvironmentVariable, obiekt |
| WoluminInstalacje |
macierz |
No |
Wolumin instaluje się w kontenerze init.
-
VolumeMount, obiekt |
ContainerPort, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| protokół |
wyliczenie |
No |
Protokół skojarzony z portem. - TCP lub UDP |
| port |
liczba całkowita |
Yes |
Numer portu uwidoczniony w grupie kontenerów. |
EnvironmentVariable, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| nazwa |
ciąg |
Yes |
Nazwa zmiennej środowiskowej. |
| Wartość |
ciąg |
No |
Wartość zmiennej środowiskowej. |
| secureValue (zabezpieczona wartość) |
ciąg |
No |
Wartość bezpiecznej zmiennej środowiskowej. |
ResourceRequirements, obiekt
VolumeMount, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| nazwa |
ciąg |
Yes |
Nazwa instalacji woluminu. |
| mountPath (ścieżka montowania) |
ciąg |
Yes |
Ścieżka w kontenerze, w którym należy zamontować wolumin. Nie może zawierać dwukropka (:). |
| readOnly (tylko do odczytu) |
boolean |
No |
Flaga wskazująca, czy instalacja woluminu jest tylko do odczytu. |
KontenerProbe, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| exec |
obiekt |
No |
Polecenie wykonywania sondy — obiekt ContainerExec |
| Pobieranie httpGet |
obiekt |
No |
Ustawienia Http Get do sondowania — obiekt ContainerHttpGet |
| initialDelaySeconds (Sekundy początkoweOpóźnienie) |
liczba całkowita |
No |
Początkowe opóźnienie sekund. |
| periodSeconds |
liczba całkowita |
No |
Czas w sekundach. |
| failureThreshold |
liczba całkowita |
No |
Próg niepowodzenia. |
| successThreshold (próg sukcesu) |
liczba całkowita |
No |
Próg powodzenia. |
| timeoutSeconds |
liczba całkowita |
No |
Limit czasu sekund. |
Obiekt ResourceRequests
| Name |
Typ |
Wymagane |
Wartość |
| memoryInGB |
number |
Yes |
Żądanie pamięci w GB tego wystąpienia kontenera. |
| cpu |
number |
Yes |
Żądanie procesora CPU tego wystąpienia kontenera. |
| gpu |
obiekt |
No |
Żądanie procesora GPU tego wystąpienia kontenera.
-
GpuResource, obiekt |
ResourceLimits, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| memoryInGB |
number |
No |
Limit pamięci w GB tego wystąpienia kontenera. |
| cpu |
number |
No |
Limit procesora CPU dla tego wystąpienia kontenera. |
| gpu |
obiekt |
No |
Limit procesora GPU tego wystąpienia kontenera.
-
GpuResource, obiekt |
ContainerExec, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| command |
macierz |
No |
Polecenia do wykonania w kontenerze. -Ciąg |
ContainerHttpGet, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| ścieżka |
ciąg |
No |
Ścieżka do sondy. |
| port |
liczba całkowita |
Yes |
Numer portu do sondy. |
| scheme |
wyliczenie |
No |
Schemat. - http lub https |
| Nagłówki HTTP |
obiekt |
No |
Nagłówki HTTP zawarte w sondze.
-
Obiekt HttpHeaders |
| Name |
Typ |
Wymagane |
Wartość |
| nazwa |
ciąg |
No |
Nazwa nagłówka. |
| Wartość |
ciąg |
No |
Wartość nagłówka. |
Ważna
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 zamiast tego użyć 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.
GpuResource, obiekt
| Name |
Typ |
Wymagane |
Wartość |
| count |
liczba całkowita |
Yes |
Liczba zasobów procesora GPU. |
| sku |
wyliczenie |
Yes |
Jednostka SKU zasobu procesora GPU. - V100 |
Następne kroki
Zobacz samouczek Wdrażanie grupy z wieloma kontenerami przy użyciu pliku YAML.
Zobacz przykłady użycia pliku YAML do wdrażania grup kontenerów w sieci wirtualnej lub instalowania woluminu zewnętrznego.