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. Kapsayıcı grubu oluşturmak veya güncelleştirmek için Resource Manager şablonu veya Azure Container Instances SDK'ları kullanmaya kısa bir alternatiftir.

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 Gerekli Değer
name 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
location dize No Kaynak konumu.
etiketler object No Kaynak etiketleri.
identity object No Yapılandırıldıysa kapsayıcı grubunun kimliği. - ContainerGroupIdentity nesnesi
properties object Yes ContainerGroupProperties nesnesi

ContainerGroupIdentity nesnesi

Ad Tür Gerekli Değer
tür enum No 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 kimlik kümesini içerir. 'Hiçbiri' türü kapsayıcı grubundan tüm kimlikleri kaldırır. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities object No Kapsayıcı grubuyla ilişkili kullanıcı kimliklerinin listesi. Kullanıcı kimliği sözlüğü anahtar başvuruları şu biçimde Azure Resource Manager kaynak kimlikleri olacaktır: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

ContainerGroupProperties nesnesi

Ad Tür Gerekli Değer
containers array Yes Kapsayıcı grubu içindeki kapsayıcılar. - Kapsayıcı nesnesi
imageRegistryCredentials array No Kapsayıcı grubunun oluşturulduğu görüntü kayıt defteri kimlik bilgileri. - ImageRegistryCredential nesnesi
restartPolicy enum No Kapsayıcı grubundaki tüm kapsayıcılar için ilkeyi yeniden başlatın. - Always Her zaman yeniden başlat- OnFailure Hatada yeniden başlatma- Never Hiçbir zaman yeniden başlatma. - Her Zaman, OnFailure, Asla
ıpaddress object No 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 array No Bu kapsayıcı grubundaki kapsayıcılar tarafından bağlanabilecek birimlerin listesi. - Birim nesnesi
tanılama object No Kapsayıcı grubu için tanılama bilgileri. - ContainerGroupDiagnostics nesnesi
subnetId'ler object No Kapsayıcı grubu için alt ağ bilgileri. - ContainerGroupSubnetIds nesnesi
Dnsconfig object No Bir kapsayıcı grubu için DNS yapılandırma bilgileri. - DnsConfiguration nesnesi
Sku enum No Kapsayıcı grubu için SKU - Standart veya Ayrılmış
encryptionProperties object No Kapsayıcı grubunun şifreleme özellikleri. - EncryptionProperties nesnesi
initContainers array No Kapsayıcı grubu için init kapsayıcıları. - InitContainerDefinition nesnesi

Kapsayıcı nesnesi

Ad Tür Gerekli Değer
name string Yes Kapsayıcı örneğinin kullanıcı tarafından sağlanan adı.
properties object Yes Kapsayıcı örneğinin özellikleri. - ContainerProperties nesnesi

ImageRegistryCredential nesnesi

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

IpAddress nesnesi

Ad Tür Gerekli Değer
ports array 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 VNET'e mi açık olduğunu belirtir. - Genel veya Özel
ıp dize No Genel İnternet'e sunulan IP.
dnsNameLabel dize No IP için Dns adı etiketi.

Birim nesnesi

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

ContainerGroupDiagnostics nesnesi

Ad Tür Gerekli Değer
logAnalytics object No Kapsayıcı grubu günlük analizi bilgileri. - LogAnalytics nesnesi

ContainerGroupSubnetIds nesnesi

Ad Tür Gerekli Değer
kimlik string Yes Alt ağın tanımlayıcısı.
name dize No Alt ağın adı.

DnsConfiguration nesnesi

Ad Tür Gerekli Değer
Nameservers array Yes Kapsayıcı grubu için DNS sunucuları. -Dize
searchDomains dize No Kapsayıcı grubunda konak adı araması için DNS arama etki alanları.
seçenekler dize No Kapsayıcı grubu için DNS seçenekleri.

EncryptionProperties nesnesi

Ad Tür Gerekli 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 Gerekli Değer
name string Yes Init kapsayıcısının adı.
properties object Yes init kapsayıcısının özellikleri. - InitContainerPropertiesDefinition nesnesi

ContainerProperties nesnesi

Ad Tür Gerekli Değer
image string Yes Kapsayıcı örneğini oluşturmak için kullanılan görüntünün adı.
command array No exec biçiminde kapsayıcı örneği içinde yürütülecek komutlar. -Dize
ports array No Kapsayıcı örneğinde kullanıma sunulan bağlantı noktaları. - ContainerPort nesnesi
environmentVariables array No Kapsayıcı örneğinde ayarlanacağı ortam değişkenleri. - EnvironmentVariable nesnesi
kaynaklar object Yes Kapsayıcı örneğinin kaynak gereksinimleri. - ResourceRequirements nesnesi
volumeMounts array No Birim, kapsayıcı örneğinde kullanılabilir. - VolumeMount nesnesi
canlılıkProbe object No Canlılık araştırması. - ContainerProbe nesnesi
readinessProbe object No Hazırlık araştırması. - ContainerProbe nesnesi

Bağlantı noktası nesnesi

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

AzureFileVolume nesnesi

Ad Tür Gerekli Değer
Paylaşımadı string Yes Birim olarak bağlanacak Azure Dosya paylaşımının adı.
Readonly boolean No 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 No Azure Dosya paylaşımına erişmek için kullanılan depolama hesabı erişim anahtarı.

GitRepoVolume nesnesi

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

LogAnalytics nesnesi

Ad Tür Gerekli 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 No Log Analytics için çalışma alanı kaynak kimliği
Logtype enum No Kullanılacak günlük türü. - ContainerInsights veya ContainerInstanceLogs
meta veriler object No Log Analytics için meta veriler.

InitContainerPropertiesDefinition nesnesi

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

ContainerPort nesnesi

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

EnvironmentVariable nesnesi

Ad Tür Gerekli Değer
name string Yes Ortam değişkeninin adı.
değer dize No Ortam değişkeninin değeri.
secureValue dize No Güvenli ortam değişkeninin değeri.

ResourceRequirements nesnesi

Ad Tür Gerekli Değer
Istek object Yes Bu kapsayıcı örneğinin kaynak istekleri. - ResourceRequests nesnesi
Sınır -ları object No Bu kapsayıcı örneğinin kaynak sınırları. - ResourceLimits nesnesi

VolumeMount nesnesi

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

ContainerProbe nesnesi

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

ResourceRequests nesnesi

Ad Tür Gerekli Değer
memoryInGB sayı Yes Bu kapsayıcı örneğinin GB cinsinden bellek isteği.
Cpu sayı Yes Bu kapsayıcı örneğinin CPU isteği.
Gpu object No Bu kapsayıcı örneğinin GPU isteği. - GpuResource nesnesi

ResourceLimits nesnesi

Ad Tür Gerekli Değer
memoryInGB sayı No Bu kapsayıcı örneğinin GB cinsinden bellek sınırı.
Cpu sayı No Bu kapsayıcı örneğinin CPU sınırı.
Gpu object No Bu kapsayıcı örneğinin GPU sınırı. - GpuResource nesnesi

ContainerExec nesnesi

Ad Tür Gerekli Değer
command array No Kapsayıcı içinde yürütülecek komutlar. -Dize

ContainerHttpGet nesnesi

Ad Tür Gerekli Değer
path dize No Yoklama yolu.
port tamsayı Yes Yoklama için bağlantı noktası numarası.
düzen enum No Entrika. - http veya https
httpHeaders object No Yoklamada bulunan HTTP üst bilgileri. - HttpHeaders nesnesi

HttpHeaders nesnesi

Ad Tür Gerekli Değer
name dize No Üst bilginin adı.
değer dize No Üst bilginin değeri.

Önemli

K80 ve P100 GPU SKU'ları 31 Ağustos 2023'e kadar kaldırılıyor. Bunun nedeni, kullanılan temel vm'lerin kullanımdan kaldırılmasıdır: NC Serisi ve NCv2 Serisi V100 SKU'ları kullanılabilir olsa da, bunun yerine Azure Kubernetes Service kullanılması gerekir. 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 Gerekli Değer
count tamsayı 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 bir dış birimi bağlamak için YAML dosyası kullanma örneklerine bakın.