YAML başvurusu: Azure Container Instances

Bu makalede, kapsayıcı grubunu yapılandırmak için Azure Container Instances tarafından desteklenen YAML dosyasının söz dizimi ve özellikleri yer alır. Grup yapılandırmasını Azure CLI'daki az container create komutuna giriş yapmak için YAML dosyası kullanın.

YAML dosyası, kapsayıcı grubunu yeniden üretilebilir dağıtımlar için yapılandırmanın kullanışlı bir yoludur. Bir kapsayıcı grubu oluşturmak veya güncelleştirmek için Resource Manager şablonu veya Azure Container Instances SDK'ları kullanmanın kısa bir alternatifidir.

Not

Bu başvuru, Azure Container Instances REST API sürümü 2021-10-01için YAML dosyaları için geçerlidir.

Şema

YAML dosyasının şeması, anahtar özellikleri vurgulamak için açıklamalar da dahil olmak üzere aşağıdaki gibidir. Bu şemadaki özelliklerin açıklaması için Özellik değerleri bölümüne bakın.

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

Özellik değerleri

Aşağıdaki tablolarda şemada ayarlamanız gereken değerler açıklanmaktadır.

Microsoft.ContainerInstance/containerGroups nesnesi

Adı Tür Zorunlu Değer
Adı string Yes Kapsayıcı grubunun adı.
apiVersion enum Yes 2021-10-01 (en son), 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
konum Dize Hayır Kaynak konumu.
tags nesne Hayır Kaynak etiketleri.
identity nesne Hayır Yapılandırıldıysa kapsayıcı grubunun kimliği. - ContainerGroupIdentity nesnesi
özellikler nesne Yes ContainerGroupProperties nesnesi

ContainerGroupIdentity nesnesi

Adı Tür Zorunlu Değer
Tür enum Hayır Kapsayıcı grubu için kullanılan kimlik türü. 'SystemAssigned, UserAssigned' türü hem örtük olarak oluşturulmuş bir kimliği hem de kullanıcı tarafından atanan bir kimlik kümesini içerir. 'Hiçbiri' türü kapsayıcı grubundan tüm kimlikleri kaldırır. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities nesne Hayır Kapsayıcı grubuyla ilişkili kullanıcı kimliklerinin listesi. Kullanıcı kimliği sözlüğü anahtar başvuruları, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' biçimindeki Azure Resource Manager kaynak kimlikleridir.

ContainerGroupProperties nesnesi

Adı Tür Zorunlu Değer
containers dizi Yes Kapsayıcı grubu içindeki kapsayıcılar. - Kapsayıcı nesnesi
imageRegistryCredentials dizi Hayır Kapsayıcı grubunun oluşturulduğu görüntü kayıt defteri kimlik bilgileri. - ImageRegistryCredential nesnesi
restartPolicy enum Hayır Kapsayıcı grubu içindeki tüm kapsayıcılar için yeniden başlatma ilkesi. - Always Her zaman yeniden başlat- OnFailure Hatada yeniden başlatma- Never Hiçbir zaman yeniden başlatma. - Her Zaman, OnFailure, Asla
ipAddress nesne Hayır Kapsayıcı grubunun IP adresi türü. - IpAddress nesnesi
osType enum Yes Kapsayıcı grubundaki kapsayıcılar için gereken işletim sistemi türü. - Windows veya Linux
volumes dizi Hayır Bu kapsayıcı grubundaki kapsayıcıların bağlayabileceğiniz birimlerin listesi. - Birim nesnesi
tanılama nesne Hayır Kapsayıcı grubu için tanılama bilgileri. - ContainerGroupDiagnostics nesnesi
subnetId'ler nesne Hayır Kapsayıcı grubu için alt ağ bilgileri. - ContainerGroupSubnetIds nesnesi
dnsConfig nesne Hayır Kapsayıcı grubu için DNS yapılandırma bilgileri. - DnsConfiguration nesnesi
sku enum Hayır Kapsayıcı grubu için SKU - Standart veya Ayrılmış
encryptionProperties nesne Hayır Kapsayıcı grubunun şifreleme özellikleri. - EncryptionProperties nesnesi
initContainers dizi Hayır Kapsayıcı grubu için init kapsayıcıları. - InitContainerDefinition nesnesi

Kapsayıcı nesnesi

Adı Tür Zorunlu Değer
Adı string Yes Kapsayıcı örneğinin kullanıcı tarafından sağlanan adı.
özellikler nesne Yes Kapsayıcı örneğinin özellikleri. - ContainerProperties nesnesi

ImageRegistryCredential nesnesi

Adı Tür Zorunlu Değer
sunucu string Yes "http" ve "https" gibi bir protokol içermeyen Docker görüntü kayıt defteri sunucusu.
username Dize Hayır Özel kayıt defterinin kullanıcı adı.
password Dize Hayır Özel kayıt defterinin parolası.
identity Dize Hayır Kimlik doğrulaması için kullanılan kullanıcı veya sistem tarafından atanan yönetilen kimliğin kaynak kimliği.
identityUrl Dize Hayır Özel kayıt defterinin kimlik URL'si.

IpAddress nesnesi

Adı Tür Zorunlu Değer
bağlantı noktaları dizi Yes Kapsayıcı grubunda kullanıma sunulan bağlantı noktalarının listesi. - Bağlantı noktası nesnesi
Tür enum Yes IP'nin genel İnternet'e mi yoksa özel sanal ağa mı açık olduğunu belirtir. - Genel veya Özel
ıp Dize Hayır Genel İnternet'e sunulan IP.
dnsNameLabel Dize Hayır IP için Dns adı etiketi.

Birim nesnesi

Adı Tür Zorunlu Değer
Adı string Yes Birimin adı.
azureFile nesne Hayır Azure Dosya birimi. - AzureFileVolume nesnesi
emptyDir nesne Hayır Boş dizin birimi.
gizli dizi nesne Hayır Gizli birim.
gitRepo nesne Hayır Git deposu birimi. - GitRepoVolume nesnesi

ContainerGroupDiagnostics nesnesi

Adı Tür Zorunlu Değer
logAnalytics nesne Hayır Kapsayıcı grubu günlük analizi bilgileri. - LogAnalytics nesnesi

ContainerGroupSubnetIds nesnesi

Adı Tür Zorunlu Değer
id string Yes Alt ağın tanımlayıcısı.
Adı string Hayır Alt ağın adı.

DnsConfiguration nesnesi

Adı Tür Zorunlu Değer
nameServers dizi Yes Kapsayıcı grubu için DNS sunucuları. -dizgi
searchDomains Dize Hayır Kapsayıcı grubundaki konak adı araması için DNS arama etki alanları.
seçenekler Dize Hayır Kapsayıcı grubu için DNS seçenekleri.

EncryptionProperties nesnesi

Adı Tür Zorunlu Değer
vaultBaseUrl string Yes Keyvault temel URL'si.
keyName string Yes Şifreleme anahtarı adı.
keyVersion string Yes Şifreleme anahtarı sürümü.

InitContainerDefinition nesnesi

Adı Tür Zorunlu Değer
Adı string Yes Init kapsayıcısının adı.
özellikler nesne Yes init kapsayıcısının özellikleri. - InitContainerPropertiesDefinition nesnesi

ContainerProperties nesnesi

Adı Tür Zorunlu Değer
görüntü string Yes Kapsayıcı örneğini oluşturmak için kullanılan görüntünün adı.
komut dizi Hayır exec biçiminde kapsayıcı örneği içinde yürütülecek komutlar. -dizgi
bağlantı noktaları dizi Hayır Kapsayıcı örneğinde kullanıma sunulan bağlantı noktaları. - ContainerPort nesnesi
environmentVariables dizi Hayır Kapsayıcı örneğinde ayarlanacağı ortam değişkenleri. - EnvironmentVariable nesnesi
kaynaklar nesne Yes Kapsayıcı örneğinin kaynak gereksinimleri. - ResourceRequirements nesnesi
volumeMounts dizi Hayır Birim, kapsayıcı örneğinde kullanılabilir. - VolumeMount nesnesi
livenessProbe nesne Hayır Canlılık araştırması. - ContainerProbe nesnesi
readinessProbe nesne Hayır Hazır olma araştırması. - ContainerProbe nesnesi

Bağlantı noktası nesnesi

Adı Tür Zorunlu Değer
protokol enum Hayır Bağlantı noktasıyla ilişkili protokol. - TCP veya UDP
port integer Yes Bağlantı noktası numarası.

AzureFileVolume nesnesi

Adı Tür Zorunlu Değer
shareName string Yes Birim olarak bağlanacak Azure Dosya paylaşımının adı.
readOnly boolean Hayır Paylaşılan Azure Dosyasının birim olarak bağlanıp bağlanmadığını gösteren bayrak salt okunurdur.
storageAccountName string Yes Azure Dosya paylaşımını içeren depolama hesabının adı.
storageAccountKey Dize Hayır Azure Dosya paylaşımına erişmek için kullanılan depolama hesabı erişim anahtarı.

GitRepoVolume nesnesi

Adı Tür Zorunlu Değer
dizin Dize Hayır Hedef dizin adı. '..' içermemeli veya '..' ile başlamamalıdır. '.' sağlanırsa birim dizini git deposudur. Aksi takdirde, belirtilirse birim, verilen ada sahip alt dizindeki git deposunu içerir.
depo string Yes Depo URL'si
düzeltme Dize Hayır Belirtilen düzeltme için karma işleme.

LogAnalytics nesnesi

Adı Tür Zorunlu Değer
workspaceId string Yes Log Analytics için çalışma alanı kimliği
workspaceKey string Yes Log Analytics için çalışma alanı anahtarı
workspaceResourceId Dize Hayır Log Analytics için çalışma alanı kaynak kimliği
logType enum Hayır Kullanılacak günlük türü. - ContainerInsights veya ContainerInstanceLogs
meta veriler nesne Hayır Log Analytics için meta veriler.

InitContainerPropertiesDefinition nesnesi

Adı Tür Zorunlu Değer
görüntü Dize Hayır init kapsayıcısının görüntüsü.
komut dizi Hayır exec biçiminde init kapsayıcısı içinde yürütülecek komut. -dizgi
environmentVariables dizi Hayır init kapsayıcısında ayarlanacağı ortam değişkenleri. - EnvironmentVariable nesnesi
volumeMounts dizi Hayır Birim, init kapsayıcısı için kullanılabilir. - VolumeMount nesnesi

ContainerPort nesnesi

Adı Tür Zorunlu Değer
protokol enum Hayır Bağlantı noktasıyla ilişkili protokol. - TCP veya UDP
port integer Yes Kapsayıcı grubu içinde kullanıma sunulan bağlantı noktası numarası.

EnvironmentVariable nesnesi

Adı Tür Zorunlu Değer
Adı string Yes Ortam değişkeninin adı.
değer Dize Hayır Ortam değişkeninin değeri.
secureValue Dize Hayır Güvenli ortam değişkeninin değeri.

ResourceRequirements nesnesi

Adı Tür Zorunlu Değer
istekler nesne Yes Bu kapsayıcı örneğinin kaynak istekleri. - ResourceRequests nesnesi
Sınır -ları nesne Hayır Bu kapsayıcı örneğinin kaynak sınırları. - ResourceLimits nesnesi

VolumeMount nesnesi

Adı Tür Zorunlu Değer
Adı string Yes Birim bağlamasının adı.
mountPath string Yes Birimin bağlanacağı kapsayıcının içindeki yol. İki nokta üst üste (:)) içermemelidir.
readOnly boolean Hayır Birim bağlamasının salt okunur olup olmadığını gösteren bayrak.

ContainerProbe nesnesi

Adı Tür Zorunlu Değer
Exec nesne Hayır Yoklama için yürütme komutu - ContainerExec nesnesi
httpGet nesne Hayır Yoklama için Http Get ayarları - ContainerHttpGet nesnesi
initialDelaySeconds integer Hayır İlk gecikme saniyesi.
periodSeconds integer Hayır Dönem saniyeleri.
failureThreshold integer Hayır Hata eşiği.
successThreshold integer Hayır Başarı eşiği.
timeoutSeconds integer Hayır Zaman aşımı saniyeleri.

ResourceRequests nesnesi

Adı Tür Zorunlu Değer
memoryInGB Numara Yes Bu kapsayıcı örneğinin GB cinsinden bellek isteği.
cpu Numara Yes Bu kapsayıcı örneğinin CPU isteği.
gpu nesne Hayır Bu kapsayıcı örneğinin GPU isteği. - GpuResource nesnesi

ResourceLimits nesnesi

Adı Tür Zorunlu Değer
memoryInGB numara Hayır Bu kapsayıcı örneğinin GB cinsinden bellek sınırı.
cpu numara Hayır Bu kapsayıcı örneğinin CPU sınırı.
gpu nesne Hayır Bu kapsayıcı örneğinin GPU sınırı. - GpuResource nesnesi

ContainerExec nesnesi

Adı Tür Zorunlu Değer
komut dizi Hayır Kapsayıcı içinde yürütülecek komutlar. -dizgi

ContainerHttpGet nesnesi

Adı Tür Zorunlu Değer
yol Dize Hayır Yoklama yolu.
port integer Yes Yoklama için bağlantı noktası numarası.
scheme enum Hayır Düzen. - http veya https
httpHeaders nesne Hayır Yoklamada yer alan HTTP üst bilgileri. - HttpHeaders nesnesi

HttpHeaders nesnesi

Adı Tür Zorunlu Değer
Adı string Hayır Üst bilginin adı.
değer Dize Hayır Üst bilginin değeri.

Önemli

K80 ve P100 GPU SKU'ları 31 Ağustos 2023'e kadar emekli oluyor. Bunun nedeni, kullanılan temel vm'lerin kullanımdan kaldırılmasıdır: NC Serisi ve NCv2 Serisi V100 SKU'ları kullanılabilir olacak olsa da, bunun yerine Azure Kubernetes Service'i kullanmak yeniden kabul edilir. GPU kaynakları tam olarak desteklenmez ve üretim iş yükleri için kullanılmamalıdır. Bugün AKS'ye geçiş yapmak için aşağıdaki kaynakları kullanın: AKS'ye Geçiş.

GpuResource nesnesi

Adı Tür Zorunlu Değer
count integer Yes GPU kaynağının sayısı.
sku enum Yes GPU kaynağının SKU'su. - V100

Sonraki adımlar

YaML dosyası kullanarak çok kapsayıcılı grup dağıtma öğreticisine bakın.

Sanal ağda kapsayıcı grupları dağıtmak veya dış birimi bağlamak için YAML dosyası kullanma örneklerine bakın.