Bagikan melalui


Referensi YAML: Azure Container Instances

Artikel ini membahas sintaks dan properti untuk file YAML yang didukung oleh Azure Container Instances untuk mengonfigurasi grup kontainer. Gunakan file YAML untuk memasukkan konfigurasi grup ke perintah az container create di Azure CLI.

File YAML adalah cara mudah untuk mengonfigurasi grup kontainer untuk penyebaran yang dapat direproduksi. Ini adalah alternatif singkat untuk menggunakan Templat Resource Manager atau SDK Azure Container Instances untuk membuat atau memperbarui grup kontainer.

Catatan

Referensi ini berlaku untuk file YAML untuk Azure Container Instances versi REST API 2021-10-01.

Skema

Skema untuk file YAML mengikuti, termasuk komentar untuk menyoroti properti utama. Untuk deskripsi properti dalam skema ini, lihat bagian Nilai properti.

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

Nilai properti

Tabel berikut menjelaskan nilai yang perlu Anda atur dalam skema.

Objek Microsoft.ContainerInstance/containerGroups

Nama Tipe Wajib Nilai
nama string Ya Nama grup kontainer.
apiVersion enum Ya 2021-10-01 (terbaru), 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
lokasi string No Lokasi sumber daya.
tag object No Tag sumber daya.
identitas object No Identitas grup kontainer, jika dikonfigurasi. - Objek ContainerGroupIdentity
properti object Ya Objek ContainerGroupProperties

Objek ContainerGroupIdentity

Nama Tipe Wajib Nilai
jenis enum No Jenis identitas yang digunakan untuk grup kontainer. Jenis 'SystemAssigned, UserAssigned' mencakup identitas yang dibuat secara implisit dan sekumpulan identitas yang ditetapkan pengguna. Jenis 'None' menghapus identitas apa pun dari grup kontainer. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
userAssignedIdentities object No Daftar identitas pengguna yang terkait dengan grup kontainer. Referensi kunci kamus identitas pengguna adalah ID sumber daya Azure Resource Manager dalam formulir: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

Objek ContainerGroupProperties

Nama Tipe Wajib Nilai
containers array Ya Kontainer dalam grup kontainer. - Objek kontainer
imageRegistryCredentials array No Kredensial registri gambar tempat grup kontainer dibuat. - Objek ImageRegistryCredential
restartPolicy enum No Kebijakan hidupkan ulang untuk semua kontainer dalam grup kontainer. - Always Selalu hidupkan ulang- OnFailure Hidupkan ulang pada kegagalan- Never Jangan pernah hidupkan ulang. - Always, OnFailure, Never
alamatIp object No Jenis alamat IP dari grup kontainer. - Objek IpAddress
osType enum Ya Jenis sistem operasi yang diperlukan oleh kontainer dalam grup kontainer. - Windows atau Linux
volume array No Daftar volume yang dapat dipasang kontainer dalam grup kontainer ini. - Objek volume
diagnostik object No Informasi diagnostik untuk grup kontainer. - Objek ContainerGroupDiagnostics
subnetId object No Informasi subnet untuk grup kontainer. - Objek ContainerGroupSubnetIds
dnsConfig object No Informasi konfigurasi DNS untuk grup kontainer. - Objek DnsConfiguration
sku enum No SKU untuk grup kontainer - Standar atau Khusus
encryptionProperties object No Properti enkripsi untuk grup kontainer. - Objek EncryptionProperties
initContainers array No Kontainer init untuk grup kontainer. - Objek InitContainerDefinition

Objek kontainer

Nama Tipe Wajib Nilai
nama string Ya Nama instans kontainer yang disediakan pengguna.
properti object Ya Properti instans kontainer. - Objek ContainerProperties

Objek ImageRegistryCredential

Nama Tipe Wajib Nilai
server string Ya Server registri gambar Docker tanpa protokol seperti "http" dan "https".
Nama pengguna string No Nama pengguna untuk registri privat.
kata sandi string No Kata sandi untuk registri privat.
identitas string No ID sumber daya pengguna atau identitas terkelola yang ditetapkan sistem yang digunakan untuk mengautentikasi.
identityUrl string No URL identitas untuk registri pribadi.

Objek IpAddress

Nama Tipe Wajib Nilai
port array Ya Daftar port yang terekspos di grup kontainer. - Objek port
jenis enum Ya Menentukan apakah IP terekspos ke internet publik atau jaringan virtual privat. - Publik atau Pribadi
ip string No IP yang terekspos ke internet publik.
dnsNameLabel string No Label nama dns untuk IP.

Objek volume

Nama Tipe Wajib Nilai
nama string Ya Nama volume.
azureFile object No Volume File Azure. - Objek AzureFileVolume
emptyDir object No Volume direktori kosong.
rahasia object No Volume rahasia.
gitRepo object No Volume repo git. - Objek GitRepoVolume

Objek ContainerGroupDiagnostics

Nama Tipe Wajib Nilai
logAnalytics object No Informasi analitik log grup kontainer. - Objek LogAnalytics

Objek ContainerGroupSubnetIds

Nama Tipe Wajib Nilai
id string Ya Pengidentifikasi untuk subnet.
nama string No Nama subnet .

Objek DnsConfiguration

Nama Tipe Wajib Nilai
nameServers array Ya Server DNS untuk grup kontainer. - string
searchDomains string No Domain pencarian DNS untuk pencarian nama host di grup kontainer.
opsi string No Opsi DNS untuk grup kontainer.

Objek EncryptionProperties

Nama Tipe Wajib Nilai
vaultBaseUrl string Ya Url dasar keyvault.
keyName string Ya Nama kunci enkripsi.
keyVersion string Ya Versi kunci enkripsi.

Objek InitContainerDefinition

Nama Tipe Wajib Nilai
nama string Ya Nama untuk kontainer init.
properti object Ya Properti untuk kontainer init. - Objek InitContainerPropertiesDefinition

Objek ContainerProperties

Nama Tipe Wajib Nilai
gambar string Ya Nama gambar yang digunakan untuk membuat instans kontainer.
command array No Perintah untuk menjalankan di dalam instans kontainer dalam bentuk eksekusi. - string
port array No Port yang terekspos di instans kontainer. - Objek ContainerPort
environmentVariables array No Variabel lingkungan yang akan diatur dalam instans kontainer. - Objek EnvironmentVariable
sumber daya object Ya Persyaratan sumber daya dari instans kontainer. - Objek ResourceRequirements
volumeMounts array No Mount volume yang tersedia untuk instans kontainer. - Objek VolumeMount
livenessProbe object No Penyelidikan liveness. - Objek ContainerProbe
readinessProbe object No Penyelidikan kesiapan. - Objek ContainerProbe

Objek port

Nama Tipe Wajib Nilai
protokol enum No Protokol yang terkait dengan port. - TCP atau UDP
pelabuhan Integer Ya Nomor port.

Objek AzureFileVolume

Nama Tipe Wajib Nilai
shareName string Ya Nama pembagian File Azure yang akan dipasang sebagai volume.
readOnly Boolean No Bendera yang menunjukkan apakah File Azure yang dibagikan dipasang sebagai volume bersifat baca-saja.
storageAccountName string Ya Nama akun penyimpanan yang berisi pembagian File Azure.
storageAccountKey string No Kunci akses akun penyimpanan yang digunakan untuk mengakses pembagian File Azure.

Objek GitRepoVolume

Nama Tipe Wajib Nilai
direktori string No Nama direktori target. Tidak boleh berisi atau dimulai dengan '..'. Jika '.' disediakan, direktori volume adalah repositori git. Jika tidak, jika ditentukan, volume berisi repositori git di subdirektori dengan nama yang diberikan.
repositori string Ya URL repositori
revisi string No Terapkan hash untuk revisi yang ditentukan.

Objek LogAnalytics

Nama Tipe Wajib Nilai
workspaceId string Ya ID ruang kerja untuk analitik log
workspaceKey string Ya Kunci ruang kerja untuk analitik log
workspaceResourceId string No ID sumber daya ruang kerja untuk analitik log
logType enum No Jenis log yang akan digunakan. - ContainerInsights atau ContainerInstanceLogs
metadata object No Metadata untuk analitik log.

Objek InitContainerPropertiesDefinition

Nama Tipe Wajib Nilai
gambar string No Gambar kontainer init.
command array No Perintah untuk menjalankan dalam kontainer init dalam bentuk eksekusi. - string
environmentVariables array No Variabel lingkungan yang akan diatur dalam kontainer init. - Objek EnvironmentVariable
volumeMounts array No Mount volume yang tersedia untuk kontainer init. - Objek VolumeMount

Objek ContainerPort

Nama Tipe Wajib Nilai
protokol enum No Protokol yang terkait dengan port. - TCP atau UDP
pelabuhan Integer Ya Nomor port yang terekspos dalam grup kontainer.

Objek EnvironmentVariable

Nama Tipe Wajib Nilai
nama string Ya Nama variabel lingkungan.
value string No Nilai variabel lingkungan .
secureValue string No Nilai variabel lingkungan aman.

Objek ResourceRequirements

Nama Tipe Wajib Nilai
permintaan object Ya Permintaan sumber daya instans kontainer ini. - Objek ResourceRequests
batas object No Batas sumber daya instans kontainer ini. - Objek ResourceLimits

Objek VolumeMount

Nama Tipe Wajib Nilai
nama string Ya Nama mount volume.
mountPath string Ya Jalur dalam kontainer tempat volume harus dipasang. Tidak boleh ada titik dua (:).
readOnly Boolean No Bendera yang menunjukkan apakah mount volume bersifat baca-saja.

Objek ContainerProbe

Nama Tipe Wajib Nilai
eksekusi object No Perintah eksekusi untuk menyelidiki - Objek ContainerExec
httpGet object No Pengaturan Http Get untuk menyelidiki - objek ContainerHttpGet
inisialDelaySeconds Integer No Detik penundaan awal.
periodSeconds Integer No Detik periode.
failureThreshold Integer No Ambang kegagalan.
successThreshold Integer No Ambang keberhasilan.
timeoutSeconds Integer No Detik waktu habis.

Objek ResourceRequests

Nama Tipe Wajib Nilai
memoryInGB number Ya Permintaan memori dalam GB dari instans kontainer ini.
cpu number Ya Permintaan CPU instans kontainer ini.
gpu object No Permintaan GPU instans kontainer ini. - Objek GpuResource

Objek ResourceLimits

Nama Tipe Wajib Nilai
memoryInGB number No Batas memori dalam GB dari instans kontainer ini.
cpu number No Batas CPU instans kontainer ini.
gpu object No Batas GPU instans kontainer ini. - Objek GpuResource

Objek ContainerExec

Nama Tipe Wajib Nilai
command array No Perintah untuk menjalankan dalam kontainer. - string

Objek ContainerHttpGet

Nama Tipe Wajib Nilai
jalan string No Jalur menuju penyelidikan.
pelabuhan Integer Ya Nomor port untuk diselidiki.
skema enum No Skema. - http atau https
httpHeader object No Header HTTP disertakan dalam pemeriksaan. - Objek HttpHeaders

Objek HttpHeaders

Nama Tipe Wajib Nilai
nama string No Nama headernya.
value string No Nilai header.

Penting

SKU GPU K80 dan P100 dihentikan paling cepat 31 Agustus 2023. Hal ini disebabkan oleh penghentian VM yang mendasar yang digunakan: Seri NC dan Seri NCv2 Meskipun SKU V100 akan tersedia, V100 akan direceommended untuk menggunakan Azure Kubernetes Service sebagai gantinya. Sumber daya GPU tidak didukung sepenuhnya dan tidak boleh digunakan untuk beban kerja produksi. Gunakan sumber daya berikut untuk bermigrasi ke AKS hari ini: Cara Bermigrasi ke AKS.

Objek GpuResource

Nama Tipe Wajib Nilai
jumlah Integer Ya Jumlah sumber daya GPU.
sku enum Ya SKU sumber daya GPU. - V100

Langkah berikutnya

Lihat tutorial Menyebarkan grup multikontainer menggunakan file YAML.

Lihat contoh penggunaan file YAML untuk menyebarkan grup kontainer dalam jaringan virtual atau yang memasang volume eksternal.