YAML 參考:Azure 容器執行個體
本文涵蓋 Azure 容器執行個體 設定容器群組所支援 YAML 檔案的語法和屬性。 使用 YAML 檔案將群組組態輸入 Azure CLI 中的 az container create 命令。
YAML 檔案是設定容器群組以進行可重現部署的便利方式。 這是使用 Resource Manager 範本或 Azure 容器執行個體 SDK 來建立或更新容器群組的簡潔替代方案。
注意
此參考適用於 #DE36929F272B247049EC8DDF92D78C8A1 REST API 版本的 2021-10-01
YAML 檔案。
結構描述
YAML 檔案的架構會隨之而來,包括批注以醒目提示索引鍵屬性。 如需此架構中屬性的描述,請參閱 屬性值 一節。
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
屬性值
下表描述您需要在架構中設定的值。
Microsoft.ContainerInstance/containerGroups 物件
名稱 |
類型 |
必要 |
數值 |
NAME |
字串 |
Yes |
容器群組的名稱。 |
apiVersion |
enum |
Yes |
2021-10-01 (最新), 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 |
字串 |
No |
資源位置。 |
標記 |
object |
No |
資源標記。 |
identity |
object |
No |
如果已設定,容器群組的身分識別。 - ContainerGroupIdentity 物件 |
內容 |
object |
Yes |
ContainerGroupProperties 物件 |
ContainerGroupIdentity 物件
名稱 |
類型 |
必要 |
值 |
type |
列舉 |
No |
用於容器群組的身分識別類型。 類型 'SystemAssigned, UserAssigned' 包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 會從容器群組中移除任何身分識別。 - SystemAssigned、UserAssigned、SystemAssigned、UserAssigned、None |
userAssignedIdentities |
object |
No |
與容器群組相關聯的使用者身分識別清單。 使用者身分識別字典索引鍵參考的格式為 Azure Resource Manager 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 |
ContainerGroupProperties 物件
Container 物件
ImageRegistryCredential 物件
名稱 |
類型 |
必要 |
值 |
伺服器 |
字串 |
Yes |
沒有通訊協定的 Docker 映射登錄伺服器,例如 「HTTP」 和 「HTTPs」。 |
username |
字串 |
No |
私人登錄的用戶名稱。 |
password |
字串 |
No |
私人登錄的密碼。 |
identity |
字串 |
No |
用來驗證的使用者或系統指派受控識別的資源標識碼。 |
identityUrl |
字串 |
No |
私人登錄的識別 URL。 |
IpAddress 物件
名稱 |
類型 |
必要 |
值 |
連接埠 |
陣列 |
Yes |
容器群組上公開的埠清單。 - Port 物件 |
type |
列舉 |
Yes |
指定IP是否公開至公用因特網或專用虛擬網路。 - 公用或私人 |
ip |
字串 |
No |
公開至公用因特網的IP。 |
dnsNameLabel |
字串 |
No |
IP 的 Dns 名稱標籤。 |
Volume 物件
名稱 |
類型 |
必要 |
數值 |
NAME |
字串 |
Yes |
磁碟區的名稱。 |
azureFile |
object |
No |
Azure 檔案磁碟區。 - AzureFileVolume 物件 |
emptyDir |
object |
No |
空的目錄磁碟區。 |
secret |
object |
No |
秘密磁碟區。 |
gitRepo |
object |
No |
git 存放庫磁碟區。 - GitRepoVolume 物件 |
ContainerGroupDiagnostics 物件
ContainerGroupSubnetIds 物件
名稱 |
類型 |
必要 |
值 |
id |
string |
Yes |
子網的標識碼。 |
NAME |
string |
No |
子網路的名稱。 |
DnsConfiguration 物件
名稱 |
類型 |
必要 |
值 |
nameServers |
陣列 |
Yes |
容器群組的 DNS 伺服器。 - 字串 |
searchDomains |
字串 |
No |
容器群組中主機名查閱的 DNS 搜尋網域。 |
電子商務選項中 |
字串 |
No |
容器群組的 DNS 選項。 |
EncryptionProperties 物件
名稱 |
類型 |
必要 |
值 |
vaultBaseUrl |
字串 |
Yes |
keyvault 基底 URL。 |
keyName |
字串 |
Yes |
加密金鑰名稱。 |
keyVersion |
字串 |
Yes |
加密金鑰版本。 |
InitContainerDefinition 物件
ContainerProperties 物件
Port 物件
名稱 |
類型 |
必要 |
值 |
protocol |
enum |
No |
與埠相關聯的通訊協定。 - TCP 或 UDP |
port |
整數 |
Yes |
連接埠號碼。 |
AzureFileVolume 物件
名稱 |
類型 |
必要 |
值 |
shareName |
字串 |
Yes |
要掛接為磁碟區的 Azure 檔案共享名稱。 |
readOnly |
boolean |
No |
旗標,指出掛接為磁碟區的 Azure 檔案共用是否為唯讀。 |
storageAccountName |
字串 |
Yes |
包含 Azure 檔案共用的記憶體帳戶名稱。 |
storageAccountKey |
字串 |
No |
用來存取 Azure 檔案共用的記憶體帳戶存取金鑰。 |
GitRepoVolume 物件
名稱 |
類型 |
必要 |
值 |
目錄 |
字串 |
No |
目標目錄名稱。 不得包含或開頭為 『..』。 如果提供 『.』,磁碟區目錄就是 Git 存放庫。 否則,如果指定,磁碟區會在具有指定名稱的子目錄中包含 git 存放庫。 |
repository |
字串 |
Yes |
存放庫 URL |
修訂 |
字串 |
No |
認可指定修訂的哈希。 |
LogAnalytics 物件
名稱 |
類型 |
必要 |
值 |
workspaceId |
字串 |
Yes |
記錄分析的工作區標識碼 |
workspaceKey |
字串 |
Yes |
記錄分析的工作區金鑰 |
workspaceResourceId |
字串 |
No |
記錄分析的工作區資源標識碼 |
logType |
enum |
No |
要使用的記錄類型。 - ContainerInsights 或 ContainerInstanceLogs |
中繼資料 |
object |
No |
記錄分析的元數據。 |
InitContainerPropertiesDefinition 物件
名稱 |
類型 |
必要 |
值 |
image |
字串 |
No |
init 容器的映像。 |
命令 |
陣列 |
No |
在 exec 表單的 init 容器內執行的命令。 - 字串 |
environmentVariables |
陣列 |
No |
在 init 容器中設定的環境變數。 - EnvironmentVariable 物件 |
volumeMounts |
陣列 |
No |
磁碟區掛接可供 init 容器使用。 - VolumeMount 物件 |
ContainerPort 物件
名稱 |
類型 |
必要 |
值 |
protocol |
enum |
No |
與埠相關聯的通訊協定。 - TCP 或 UDP |
port |
整數 |
Yes |
容器群組內公開的埠號碼。 |
EnvironmentVariable 物件
名稱 |
類型 |
必要 |
數值 |
NAME |
字串 |
Yes |
環境變數的名稱。 |
value |
字串 |
No |
環境變數的值。 |
secureValue |
字串 |
No |
安全環境變數的值。 |
ResourceRequirements 物件
VolumeMount 物件
名稱 |
類型 |
必要 |
數值 |
NAME |
字串 |
Yes |
磁碟區掛接的名稱。 |
mountPath |
字串 |
Yes |
容器內應掛接磁碟區的路徑。 不得包含冒號 (:)。 |
readOnly |
boolean |
No |
指出磁碟區掛接是否為唯讀的旗標。 |
ContainerProbe 物件
名稱 |
類型 |
必要 |
值 |
exec |
object |
No |
探查的執行命令 - ContainerExec 物件 |
httpGet |
object |
No |
要探查的 Http Get 設定 - ContainerHttpGet 物件 |
initialDelaySeconds |
整數 |
No |
初始延遲秒。 |
periodSeconds |
整數 |
No |
句點秒數。 |
failureThreshold |
整數 |
No |
失敗臨界值。 |
successThreshold |
整數 |
No |
成功臨界值。 |
timeoutSeconds |
整數 |
No |
逾時秒數。 |
ResourceRequests 物件
名稱 |
類型 |
必要 |
值 |
memoryInGB |
數值 |
Yes |
此容器實例的 GB 記憶體要求。 |
cpu |
數值 |
Yes |
這個容器實例的CPU要求。 |
gpu |
object |
No |
這個容器實例的 GPU 要求。 - GpuResource 物件 |
ResourceLimits 物件
名稱 |
類型 |
必要 |
值 |
memoryInGB |
數值 |
No |
此容器實例的 GB 記憶體限制。 |
cpu |
數值 |
No |
這個容器實例的CPU限制。 |
gpu |
object |
No |
此容器實例的 GPU 限制。 - GpuResource 物件 |
ContainerExec 物件
名稱 |
類型 |
必要 |
值 |
命令 |
陣列 |
No |
在容器內執行的命令。 - 字串 |
ContainerHttpGet 物件
名稱 |
類型 |
必要 |
值 |
path |
字串 |
No |
探查的路徑。 |
port |
整數 |
Yes |
要探查的埠號碼。 |
scheme |
enum |
No |
配置。 - HTTP 或 HTTPs |
httpHeaders |
object |
No |
探查中包含的 HTTP 標頭。 - HttpHeaders 物件 |
名稱 |
類型 |
必要 |
數值 |
NAME |
string |
No |
標頭的名稱。 |
value |
字串 |
No |
標頭的值。 |
重要
K80 和 P100 GPU SKU 將於 2023 年 8 月 31 日前淘汰。 這是因為使用的基礎 VM (NC 系列和 NCv2 系列) 已淘汰;雖然 V100 SKU 可供使用,但建議改用 Azure Kubernetes Service。 GPU 資源未完全受支援,不應用於生產工作負載。 使用下列資源立即移轉至 AKS:如何移轉至 AKS。
GpuResource 物件
名稱 |
類型 |
必要 |
值 |
計數 |
整數 |
Yes |
GPU 資源的計數。 |
SKU |
enum |
Yes |
GPU 資源的 SKU。 - V100 |
下一步
請參閱使用 YAML 檔案部署多容器群組教學課程。
請參閱使用 YAML 檔案在虛擬網路或掛接外部磁碟區中部署容器群組的範例。