Sdílet prostřednictvím


Referenční informace k YAML: Azure Container Instances

Tento článek popisuje syntaxi a vlastnosti souboru YAML podporovaného službou Azure Container Instances pro konfiguraci skupiny kontejnerů. Pomocí souboru YAML zadejte konfiguraci skupiny do příkazu az container create v Azure CLI.

Soubor YAML představuje pohodlný způsob konfigurace skupiny kontejnerů pro reprodukovatelná nasazení. Jedná se o stručnou alternativu k vytvoření nebo aktualizaci skupiny kontejnerů pomocí šablony Resource Manageru nebo sad SDK služby Azure Container Instances.

Poznámka:

Tento odkaz se vztahuje na soubory YAML pro verzi 2021-10-01rozhraní REST API služby Azure Container Instances .

Schéma

Schéma souboru YAML následuje, včetně komentářů ke zvýraznění klíčových vlastností. Popis vlastností v tomto schématu naleznete v části Hodnoty vlastnosti.

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

Hodnoty vlastností

Následující tabulky popisují hodnoty, které je potřeba nastavit ve schématu.

Objekt Microsoft.ContainerInstance/containerGroups

Name Type Požaduje se Hodnota
name string Ano Název skupiny kontejnerů.
apiVersion enum Ano 2021-10-01 (nejnovější), 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
location string No Umístění prostředku.
značky objekt No Značky prostředků.
Identity objekt No Identita skupiny kontejnerů, pokud je nakonfigurovaná. - ContainerGroupIdentity – objekt
vlastnosti objekt Ano ContainerGroupProperties – objekt

ContainerGroupIdentity – objekt

Name Type Požaduje se Hodnota
type enum No Typ identity, který se používá pro skupinu kontejnerů. Typ SystemAssigned, UserAssigned zahrnuje implicitně vytvořenou identitu i sadu identit přiřazených uživatelem. Typ None odebere všechny identity ze skupiny kontejnerů. – SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities objekt No Seznam identit uživatelů přidružených ke skupině kontejnerů. Odkazy na klíč slovníku identit uživatele jsou ID prostředků Azure Resource Manageru ve formuláři: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.

ContainerGroupProperties – objekt

Name Type Požaduje se Hodnota
containers pole Ano Kontejnery ve skupině kontejnerů. - Objekt kontejneru
imageRegistryCredentials pole No Přihlašovací údaje registru image, ze kterých je skupina kontejnerů vytvořena. - ImageRegistryCredential – objekt
restartPolicy enum No Restartujte zásadu pro všechny kontejnery ve skupině kontejnerů. - Always Vždy restartovat – OnFailure Restartování při selhání – Never Nikdy se nerestartuje. - Vždy, OnFailure, Nikdy
ipAddress objekt No Typ IP adresy skupiny kontejnerů. - Objekt IpAddress
osType enum Ano Typ operačního systému vyžadovaný kontejnery ve skupině kontejnerů. – Windows nebo Linux
volumes pole No Seznam svazků, které kontejnery v této skupině kontejnerů můžou připojit. - Objekt svazku
Diagnostika objekt No Diagnostické informace pro skupinu kontejnerů. - ContainerGroupDiagnostics – objekt
subnetIds objekt No Informace o podsíti pro skupinu kontejnerů - ContainerGroupSubnetIds – objekt
dnsConfig objekt No Informace o konfiguraci DNS pro skupinu kontejnerů. - Objekt DnsConfiguration
sku enum No Skladová položka pro skupinu kontejnerů – Standard nebo Dedicated
encryptionProperties objekt No Vlastnosti šifrování pro skupinu kontejnerů. - Objekt EncryptionProperties
initContainers pole No Inicializační kontejnery pro skupinu kontejnerů. - InitContainerDefinition – objekt

Objekt kontejneru

Name Type Požaduje se Hodnota
name string Ano Uživatelem zadaný název instance kontejneru.
vlastnosti objekt Ano Vlastnosti instance kontejneru. - ContainerProperties – objekt

ImageRegistryCredential – objekt

Name Type Požaduje se Hodnota
server string Ano Server registru imagí Dockeru bez protokolu, jako je http a https.
username string No Uživatelské jméno pro privátní registr.
Heslo string No Heslo privátního registru.
Identity string No ID prostředku spravované identity přiřazené uživatelem nebo systémem, které se používá k ověření.
identityUrl string No Adresa URL identity privátního registru.

Objekt IpAddress

Name Type Požaduje se Hodnota
ports pole Ano Seznam portů vystavených ve skupině kontejnerů. - Objekt portu
type enum Ano Určuje, jestli je IP adresa vystavená veřejnému internetu nebo privátní virtuální síti. - Veřejné nebo soukromé
Ip string No IP adresa vystavená veřejnému internetu.
dnsNameLabel string No Popisek názvu DNS pro IP adresu.

Objekt svazku

Name Type Požaduje se Hodnota
name string Ano Název svazku.
azureFile objekt No Svazek Azure File. - Objekt AzureFileVolume
emptyDir objekt No Prázdný svazek adresáře.
Tajný kód objekt No Tajný svazek.
gitRepo objekt No Svazek úložiště Git. - Objekt GitRepoVolume

ContainerGroupDiagnostics – objekt

Name Type Požaduje se Hodnota
LogAnalytics objekt No Informace o analýze protokolů skupin kontejnerů - Objekt LogAnalytics

ContainerGroupSubnetIds – objekt

Name Type Požaduje se Hodnota
ID string Ano Identifikátor podsítě.
name string No Název podsítě.

Objekt DnsConfiguration

Name Type Požaduje se Hodnota
nameServers pole Ano Servery DNS pro skupinu kontejnerů. -řetězec
searchDomains string No Domény hledání DNS pro vyhledávání názvů hostitelů ve skupině kontejnerů.
options string No Možnosti DNS pro skupinu kontejnerů.

Objekt EncryptionProperties

Name Type Požaduje se Hodnota
vaultBaseUrl string Ano Základní adresa URL služby keyvault.
keyName string Ano Název šifrovacího klíče.
keyVersion string Ano Verze šifrovacího klíče.

InitContainerDefinition – objekt

Name Type Požaduje se Hodnota
name string Ano Název inicializačního kontejneru.
vlastnosti objekt Ano Vlastnosti inicializačního kontejneru. - InitContainerPropertiesDefinition – objekt

ContainerProperties – objekt

Name Type Požaduje se Hodnota
image string Ano Název image použité k vytvoření instance kontejneru.
příkaz pole No Příkazy, které se mají spustit v instanci kontejneru ve formuláři exec. -řetězec
ports pole No Vystavené porty v instanci kontejneru. - ContainerPort – objekt
environmentVariables pole No Proměnné prostředí, které se mají nastavit v instanci kontejneru. - EnvironmentVariable – objekt
prostředky objekt Ano Požadavky na prostředky instance kontejneru. - ResourceRequirements – objekt
volumeMounts pole No Svazek se připojí k instanci kontejneru. - Objekt VolumeMount
livenessProbe objekt No Sonda aktivity. - ContainerProbe – objekt
readinessProbe objekt No Sonda připravenosti. - ContainerProbe – objekt

Objekt portu

Name Type Požaduje se Hodnota
protokol enum No Protokol přidružený k portu. – TCP nebo UDP
port integer Ano Číslo portu

Objekt AzureFileVolume

Name Type Požaduje se Hodnota
shareName string Ano Název sdílené složky Azure, která se má připojit jako svazek.
jen pro čtení boolean No Příznak označující, jestli je sdílený soubor Azure připojený jako svazek jen pro čtení.
storageAccountName string Ano Název účtu úložiště, který obsahuje sdílenou složku Azure.
storageAccountKey string No Přístupový klíč účtu úložiště, který se používá pro přístup ke sdílené složce Azure.

Objekt GitRepoVolume

Name Type Požaduje se Hodnota
adresář string No Název cílového adresáře. Nesmí obsahovat ani začínat na ".". Pokud se zadá ".", adresář svazku je úložiště git. V opačném případě obsahuje svazek úložiště Git v podadresáři s daným názvem.
úložiště string Ano Adresa URL úložiště
revision string No Potvrďte hodnotu hash pro zadanou revizi.

Objekt LogAnalytics

Name Type Požaduje se Hodnota
workspaceId string Ano ID pracovního prostoru pro Log Analytics
workspaceKey string Ano Klíč pracovního prostoru pro Log Analytics
workspaceResourceId string No ID prostředku pracovního prostoru pro Log Analytics
logType enum No Typ protokolu, který se má použít. – ContainerInsights nebo ContainerInstanceLogs
metadata objekt No Metadata pro log analytics

InitContainerPropertiesDefinition – objekt

Name Type Požaduje se Hodnota
image string No Obrázek inicializačního kontejneru
příkaz pole No Příkaz, který se má provést v kontejneru inicializačních souborů ve formuláři exec. -řetězec
environmentVariables pole No Proměnné prostředí, které se mají nastavit v inicializačním kontejneru. - EnvironmentVariable – objekt
volumeMounts pole No Svazek se připojí k inicializačnímu kontejneru. - Objekt VolumeMount

ContainerPort – objekt

Name Type Požaduje se Hodnota
protokol enum No Protokol přidružený k portu. – TCP nebo UDP
port integer Ano Číslo portu vystavené ve skupině kontejnerů.

EnvironmentVariable – objekt

Name Type Požaduje se Hodnota
name string Ano Název proměnné prostředí.
hodnota string No Hodnota proměnné prostředí.
secureValue string No Hodnota zabezpečené proměnné prostředí.

ResourceRequirements – objekt

Name Type Požaduje se Hodnota
žádosti objekt Ano Požadavky na prostředky této instance kontejneru. - ResourceRequests – objekt
hranice objekt No Omezení prostředků této instance kontejneru. - ResourceLimits – objekt

Objekt VolumeMount

Name Type Požaduje se Hodnota
name string Ano Název připojení svazku.
mountPath string Ano Cesta v kontejneru, do kterého se má svazek připojit. Nesmí obsahovat dvojtečku (:).
jen pro čtení boolean No Příznak označující, jestli je připojení svazku jen pro čtení.

ContainerProbe – objekt

Name Type Požaduje se Hodnota
vykonavatel objekt No Příkaz spuštění pro sondu – Object ContainerExec
httpGet objekt No Nastavení Http Get pro sondu – objekt ContainerHttpGet
initialDelaySeconds integer No Počáteční prodleva sekund.
periodSeconds integer No Interval sekund.
failureThreshold integer No Prahová hodnota selhání.
successThreshold integer No Prahová hodnota úspěchu.
timeoutSeconds integer No Sekundy časového limitu.

ResourceRequests – objekt

Name Type Požaduje se Hodnota
memoryInGB Číslo Ano Požadavek na paměť v GB této instance kontejneru.
procesor Číslo Ano Požadavek na procesor této instance kontejneru.
gpu objekt No Požadavek GPU této instance kontejneru. - Objekt GpuResource

ResourceLimits – objekt

Name Type Požaduje se Hodnota
memoryInGB Číslo No Limit paměti v GB této instance kontejneru.
procesor Číslo No Omezení procesoru této instance kontejneru.
gpu objekt No Limit GPU této instance kontejneru. - Objekt GpuResource

Objekt ContainerExec

Name Type Požaduje se Hodnota
příkaz pole No Příkazy, které se mají spustit v rámci kontejneru. -řetězec

Objekt ContainerHttpGet

Name Type Požaduje se Hodnota
path string No Cesta k sondě.
port integer Ano Číslo portu, které se má testovat.
scheme enum No Schéma. – http nebo https
HttpHeaders objekt No Hlavičky HTTP zahrnuté v sondě. - Objekt HttpHeaders

Objekt HttpHeaders

Name Type Požaduje se Hodnota
name string No Název záhlaví
hodnota string No Hodnota záhlaví

Důležité

Skladové položky GPU K80 a P100 se vyřazuje do 31. srpna 2023. Důvodem je vyřazení použitých základních virtuálních počítačů: Řada NC a řada NCv2 , i když budou k dispozici skladové položky V100, doporučujeme místo toho službu Azure Kubernetes Service znovu použít. Prostředky GPU nejsou plně podporované a neměly by se používat pro produkční úlohy. Pomocí následujících prostředků můžete migrovat do AKS ještě dnes: Jak migrovat do AKS.

Objekt GpuResource

Name Type Požaduje se Hodnota
count integer Ano Počet prostředků GPU.
sku enum Ano Skladová položka prostředku GPU. – V100

Další kroky

Podívejte se na kurz Nasazení skupiny s více kontejnery pomocí souboru YAML.

Podívejte se na příklady použití souboru YAML k nasazení skupin kontejnerů ve virtuální síti nebo připojení externího svazku.