你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.ContainerInstance containerGroups 2019-12-01
Bicep 资源定义
可以使用面向以下操作部署 containerGroups 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.ContainerInstance/containerGroups 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.ContainerInstance/containerGroups@2019-12-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
identity: {
type: 'string'
userAssignedIdentities: {}
}
properties: {
containers: [
{
name: 'string'
properties: {
command: [
'string'
]
environmentVariables: [
{
name: 'string'
secureValue: 'string'
value: 'string'
}
]
image: 'string'
livenessProbe: {
exec: {
command: [
'string'
]
}
failureThreshold: int
httpGet: {
path: 'string'
port: int
scheme: 'string'
}
initialDelaySeconds: int
periodSeconds: int
successThreshold: int
timeoutSeconds: int
}
ports: [
{
port: int
protocol: 'string'
}
]
readinessProbe: {
exec: {
command: [
'string'
]
}
failureThreshold: int
httpGet: {
path: 'string'
port: int
scheme: 'string'
}
initialDelaySeconds: int
periodSeconds: int
successThreshold: int
timeoutSeconds: int
}
resources: {
limits: {
cpu: int
gpu: {
count: int
sku: 'string'
}
memoryInGB: json('decimal-as-string')
}
requests: {
cpu: int
gpu: {
count: int
sku: 'string'
}
memoryInGB: json('decimal-as-string')
}
}
volumeMounts: [
{
mountPath: 'string'
name: 'string'
readOnly: bool
}
]
}
}
]
diagnostics: {
logAnalytics: {
logType: 'string'
metadata: {}
workspaceId: 'string'
workspaceKey: 'string'
}
}
dnsConfig: {
nameServers: [
'string'
]
options: 'string'
searchDomains: 'string'
}
encryptionProperties: {
keyName: 'string'
keyVersion: 'string'
vaultBaseUrl: 'string'
}
imageRegistryCredentials: [
{
password: 'string'
server: 'string'
username: 'string'
}
]
initContainers: [
{
name: 'string'
properties: {
command: [
'string'
]
environmentVariables: [
{
name: 'string'
secureValue: 'string'
value: 'string'
}
]
image: 'string'
volumeMounts: [
{
mountPath: 'string'
name: 'string'
readOnly: bool
}
]
}
}
]
ipAddress: {
dnsNameLabel: 'string'
ip: 'string'
ports: [
{
port: int
protocol: 'string'
}
]
type: 'string'
}
networkProfile: {
id: 'string'
}
osType: 'string'
restartPolicy: 'string'
sku: 'string'
volumes: [
{
azureFile: {
readOnly: bool
shareName: 'string'
storageAccountKey: 'string'
storageAccountName: 'string'
}
emptyDir: any()
gitRepo: {
directory: 'string'
repository: 'string'
revision: 'string'
}
name: 'string'
secret: {}
}
]
}
}
属性值
containerGroups
名称 | 说明 | 值 |
---|---|---|
name | 资源名称 | 字符串 (必需) 字符限制:1-63 有效字符: 小写字母、数字和连字符。 不能以连字符开头或结尾。 不允许连续的连字符。 |
location | 资源位置。 | 字符串 |
标记 | 资源标记。 | 标记名称和值的字典。 请参阅 模板中的标记 |
标识 | 容器组的标识(如果已配置)。 | ContainerGroupIdentity |
properties | 容器组属性 | ContainerGroupProperties (必需) |
ContainerGroupIdentity
名称 | 说明 | Value |
---|---|---|
type | 容器组使用的标识类型。 类型“SystemAssigned ,UserAssigned”包含隐式创建的标识和一组用户分配的标识。 类型“None”删除容器组中的所有标识。 | “None” “SystemAssigned” “SystemAssigned, UserAssigned” “UserAssigned” |
userAssignedIdentities | 与容器组关联的用户标识列表。 用户标识字典键引用将是 ARM 资源 ID,格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | 对象 (object) |
ContainerGroupProperties
名称 | 说明 | Value |
---|---|---|
containers | 容器组中的容器。 | Container[] (所需的) |
诊断 | 容器组的诊断信息。 | ContainerGroupDiagnostics |
dnsConfig | 容器组的 DNS 配置信息。 | DnsConfiguration |
encryptionProperties | 容器组的加密属性。 | EncryptionProperties |
imageRegistryCredentials | 创建容器组所依据的映像注册表凭据。 | ImageRegistryCredential[] |
initContainers | 容器组的 Init 容器。 | InitContainerDefinition[] |
ipAddress | 容器组的 IP 地址类型。 | IpAddress |
networkProfile | 容器组的网络配置文件信息。 | ContainerGroupNetworkProfile |
osType | 容器组中容器所需的操作系统类型。 | 'Linux' “Windows” (必需) |
restartPolicy | 容器组中所有容器的重启策略。 - Always 始终重启- OnFailure 失败时重启- Never 从不重启 |
“Always” “从不” “OnFailure” |
sku | 容器组的 SKU。 | “专用” 'Standard' |
volumes | 此容器组中的容器可以装载的卷列表。 | Volume[] |
容器
名称 | 说明 | 值 |
---|---|---|
name | 用户提供的容器实例名称。 | 字符串 (必需) |
properties | 容器实例的属性。 | ContainerProperties (必需) |
ContainerProperties
名称 | 说明 | Value |
---|---|---|
command | 要在容器实例中执行的 exec 形式的命令。 | string[] |
environmentVariables | 要在容器实例中设置的环境变量。 | EnvironmentVariable[] |
image | 用于创建容器实例的映像的名称。 | 字符串 (必需) |
livenessProbe | 运行情况探测。 | ContainerProbe |
ports | 容器实例上的已公开端口。 | ContainerPort[] |
readinessProbe | 就绪情况探测。 | ContainerProbe |
resources | 容器实例的资源要求。 | ResourceRequirements (必需) |
volumeMounts | 容器实例可用的卷装入点数。 | VolumeMount[] |
EnvironmentVariable
名称 | 说明 | 值 |
---|---|---|
name | 环境变量的名称。 | 字符串 (必需) |
secureValue | 安全环境变量的值。 | string |
value | 环境变量的值。 | 字符串 |
ContainerProbe
名称 | 说明 | Value |
---|---|---|
exec | 要探测的执行命令 | ContainerExec |
failureThreshold | 失败阈值。 | int |
httpGet | 要探测的 Http Get 设置 | ContainerHttpGet |
initialDelaySeconds | 初始延迟秒数。 | int |
periodSeconds | 时间段秒数。 | int |
successThreshold | 成功阈值。 | int |
timeoutSeconds | 超时秒数。 | int |
ContainerExec
名称 | 说明 | Value |
---|---|---|
command | 要在容器中执行的命令。 | string[] |
ContainerHttpGet
名称 | 说明 | Value |
---|---|---|
path | 要探测的路径。 | string |
port | 要探测的端口号。 | int (必需) |
scheme | 方案。 | 'http' 'https' |
ContainerPort
名称 | 说明 | 值 |
---|---|---|
port | 容器组中公开的端口号。 | int (必需) |
protocol | 与端口关联的协议。 | 'TCP' 'UDP' |
ResourceRequirements
名称 | 说明 | 值 |
---|---|---|
限制 | 此容器实例的资源限制。 | ResourceLimits |
请求 | 此容器实例的资源请求。 | ResourceRequests (所需的) |
ResourceLimits
名称 | 说明 | 值 |
---|---|---|
cpu | 此容器实例的 CPU 限制。 | int |
gpu | 此容器实例的 GPU 限制。 | GpuResource |
memoryInGB | 此容器实例的内存限制 (GB)。 若要指定十进制值,请使用 json () 函数。 | int 或 json decimal |
GpuResource
名称 | 说明 | Value |
---|---|---|
count | GPU 资源计数。 | int (必需) |
sku | GPU 资源的 SKU。 | 'K80' “P100” 需要“V100” () |
ResourceRequests
名称 | 说明 | 值 |
---|---|---|
cpu | 此容器实例的 CPU 请求。 | int (必需) |
gpu | 此容器实例的 GPU 请求。 | GpuResource |
memoryInGB | 此容器实例的内存请求 (GB)。 若要指定十进制值,请使用 json () 函数。 | 需要 int 或 json decimal () |
VolumeMount
名称 | 说明 | 值 |
---|---|---|
mountPath | 容器中要将该卷装载到的路径。 不得包含冒号 (:)。 | 字符串 (必需) |
name | 卷装入点的名称。 | 字符串 (必需) |
readOnly | 指示卷装入点是否为只读的标志。 | bool |
ContainerGroupDiagnostics
名称 | 说明 | Value |
---|---|---|
logAnalytics | 容器组日志分析信息。 | LogAnalytics |
LogAnalytics
名称 | 说明 | 值 |
---|---|---|
logType | 要使用的日志类型。 | “ContainerInsights” “ContainerInstanceLogs” |
metadata | Log Analytics 的元数据。 | 对象 (object) |
workspaceId | Log Analytics 的工作区 ID | 字符串 (必需) |
workspaceKey | Log Analytics 的工作区键 | 字符串 (必需) |
DnsConfiguration
名称 | 说明 | Value |
---|---|---|
nameServers | 容器组的 DNS 服务器。 | string[] (必需的) |
options | 容器组的 DNS 选项。 | 字符串 |
searchDomains | 容器组中主机名查找的 DNS 搜索域。 | 字符串 |
EncryptionProperties
名称 | 说明 | 值 |
---|---|---|
keyName | 加密密钥名称。 | 字符串 (必需) |
keyVersion | 加密密钥版本。 | 字符串 (必需) |
vaultBaseUrl | 密钥保管库基础 URL。 | 字符串 (必需) |
ImageRegistryCredential
名称 | 说明 | 值 |
---|---|---|
password | 专用注册表的密码。 | 字符串 |
server | 没有协议(例如“http”或“https”)的 Docker 映像注册表服务器。 | 字符串 (必需) |
username | 专用注册表的用户名。 | 字符串 (必需) |
InitContainerDefinition
名称 | 说明 | 值 |
---|---|---|
name | Init 容器的名称。 | 字符串 (必需) |
properties | Init 容器的属性。 | InitContainerPropertiesDefinition (必需) |
InitContainerPropertiesDefinition
名称 | 说明 | Value |
---|---|---|
command | 要在 Init 容器中以 exec 形式执行的命令。 | string[] |
environmentVariables | 要在 Init 容器中设置的环境变量。 | EnvironmentVariable[] |
image | Init 容器的映像。 | 字符串 |
volumeMounts | 可用于 Init 容器的卷装载。 | VolumeMount[] |
IpAddress
名称 | 说明 | 值 |
---|---|---|
dnsNameLabel | IP 的 DNS 名称标签。 | string |
ip | 向公共 Internet 公开的 IP。 | string |
ports | 容器组上公开的端口列表。 | 端口[] (必需的) |
类型 | 指定 IP 是否向公共 Internet 或专用 VNET 公开。 | “Private” “Public” (必需) |
端口
名称 | 说明 | 值 |
---|---|---|
port | 端口号。 | int (必需) |
protocol | 与端口关联的协议。 | “TCP” “UDP” |
ContainerGroupNetworkProfile
名称 | 说明 | Value |
---|---|---|
id | 网络配置文件的标识符。 | 字符串 (必需) |
数据量(Volume)
名称 | 说明 | 值 |
---|---|---|
azureFile | Azure 文件卷。 | AzureFileVolume |
emptyDir | 空目录卷。 | 对于 Bicep,可以使用 any () 函数。 |
gitRepo | Git 存储库卷。 | GitRepoVolume |
name | 卷的名称。 | 字符串 (必需) |
secret | 机密卷。 | 对象 (object) |
AzureFileVolume
名称 | 说明 | 值 |
---|---|---|
readOnly | 指示以卷形式装载的 Azure 文件共享是否为只读的标志。 | bool |
shareName | 要以卷形式装载的 Azure 文件共享的名称。 | 字符串 (必需) |
storageAccountKey | 用于访问 Azure 文件共享的存储帐户访问密钥。 | 字符串 |
storageAccountName | 包含 Azure 文件共享的存储帐户的名称。 | 字符串 (必需) |
GitRepoVolume
名称 | 说明 | Value |
---|---|---|
目录 | 目标目录名称。 不得包含“..”,也不能以其开头。 如果提供了“.”,则卷目录将是 Git 存储库。 否则,卷将包含子目录中具有给定名称的 Git 存储库(如果已指定)。 | 字符串 |
repository | 存储库 URL | 字符串 (必需) |
revision | 指定的修订版的提交哈希。 | 字符串 |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 说明 |
---|---|
在 AKS 上SQL Server可用性组 |
这会创建新的 AKS 群集,然后使用使用 Duffle 和 ACI 部署的 CNAB 包将SQL Server可用性组部署到其中 |
创建 WordPress 站点 |
此模板在容器实例上创建 WordPress 站点 |
在虚拟网络中创建 WordPress 站点 |
此模板在虚拟网络中的容器实例上创建 WordPress 站点。 并输出可访问 WordPress 站点的公共站点 FQDN。 |
Azure 容器实例 - BC 与 SQL Server 和 IIS |
在 Azure 容器实例 上部署具有功能齐全的 Microsoft Dynamics 365 Business Central 环境的单个 Windows 容器。 |
带有容器实例和应用程序网关的 Front Door |
此模板使用容器组和应用程序网关创建 Front Door 标准版/高级版。 |
Front Door Standard/Premium with Azure 容器实例 |
此模板使用容器组创建 Front Door 标准版/高级版。 |
Azure 容器实例 - 具有运行状况探测的容器 |
使用 Azure 容器实例 部署具有运行状况探测的 Linux 容器。 |
Azure 容器实例 - 具有公共 IP 的 Linux 容器 |
使用 Azure 容器实例 部署可通过公共 IP 访问的单个 Linux 容器。 |
Azure 容器实例 - 具有安全 envVar 的容器 |
使用 Azure 容器实例 部署具有安全环境变量的 Linux 容器。 |
Azure 容器实例 - 具有 emptyDir 的 Linux 容器 |
使用 Azure 容器实例 部署两个共享 emptyDir 卷的 Linux 容器。 |
Azure 容器实例 - 包含 gitRepo 的 Linux 容器 |
使用 Azure 容器实例 部署使用 gitRepo 卷的 Linux 容器。 |
Azure 容器实例 - 包含机密的容器 |
使用 Azure 容器实例 部署具有机密卷的 Linux 容器。 |
创建具有持久性存储的按需 SFTP 服务器 |
此模板演示使用 Azure 容器实例 (ACI) 的按需 SFTP 服务器。 |
使用现有存储帐户的按需 SFTP 服务器 |
此模板演示使用 Azure 容器实例 (ACI) 的按需 SFTP 服务器。 |
通过容器创建存储帐户文件共享 |
此模板通过 azure-cli 在容器实例中创建存储帐户和文件共享 |
ACI 中的 UDP 容器 |
此模板创建 ACI 资源并通过 UDP 公开容器 |
Azure 容器实例 - VNet |
将容器实例部署到 Azure 虚拟网络。 |
使用证书创建应用程序网关 |
此模板演示如何生成密钥保管库自签名证书,然后从应用程序网关引用。 |
ARM 模板资源定义
可以使用面向以下操作部署 containerGroups 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.ContainerInstance/containerGroups 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2019-12-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"identity": {
"type": "string",
"userAssignedIdentities": {}
},
"properties": {
"containers": [
{
"name": "string",
"properties": {
"command": [ "string" ],
"environmentVariables": [
{
"name": "string",
"secureValue": "string",
"value": "string"
}
],
"image": "string",
"livenessProbe": {
"exec": {
"command": [ "string" ]
},
"failureThreshold": "int",
"httpGet": {
"path": "string",
"port": "int",
"scheme": "string"
},
"initialDelaySeconds": "int",
"periodSeconds": "int",
"successThreshold": "int",
"timeoutSeconds": "int"
},
"ports": [
{
"port": "int",
"protocol": "string"
}
],
"readinessProbe": {
"exec": {
"command": [ "string" ]
},
"failureThreshold": "int",
"httpGet": {
"path": "string",
"port": "int",
"scheme": "string"
},
"initialDelaySeconds": "int",
"periodSeconds": "int",
"successThreshold": "int",
"timeoutSeconds": "int"
},
"resources": {
"limits": {
"cpu": "int",
"gpu": {
"count": "int",
"sku": "string"
},
"memoryInGB": "[json('decimal-as-string')]"
},
"requests": {
"cpu": "int",
"gpu": {
"count": "int",
"sku": "string"
},
"memoryInGB": "[json('decimal-as-string')]"
}
},
"volumeMounts": [
{
"mountPath": "string",
"name": "string",
"readOnly": "bool"
}
]
}
}
],
"diagnostics": {
"logAnalytics": {
"logType": "string",
"metadata": {},
"workspaceId": "string",
"workspaceKey": "string"
}
},
"dnsConfig": {
"nameServers": [ "string" ],
"options": "string",
"searchDomains": "string"
},
"encryptionProperties": {
"keyName": "string",
"keyVersion": "string",
"vaultBaseUrl": "string"
},
"imageRegistryCredentials": [
{
"password": "string",
"server": "string",
"username": "string"
}
],
"initContainers": [
{
"name": "string",
"properties": {
"command": [ "string" ],
"environmentVariables": [
{
"name": "string",
"secureValue": "string",
"value": "string"
}
],
"image": "string",
"volumeMounts": [
{
"mountPath": "string",
"name": "string",
"readOnly": "bool"
}
]
}
}
],
"ipAddress": {
"dnsNameLabel": "string",
"ip": "string",
"ports": [
{
"port": "int",
"protocol": "string"
}
],
"type": "string"
},
"networkProfile": {
"id": "string"
},
"osType": "string",
"restartPolicy": "string",
"sku": "string",
"volumes": [
{
"azureFile": {
"readOnly": "bool",
"shareName": "string",
"storageAccountKey": "string",
"storageAccountName": "string"
},
"emptyDir": {},
"gitRepo": {
"directory": "string",
"repository": "string",
"revision": "string"
},
"name": "string",
"secret": {}
}
]
}
}
属性值
containerGroups
名称 | 说明 | Value |
---|---|---|
type | 资源类型 | “Microsoft.ContainerInstance/containerGroups” |
apiVersion | 资源 API 版本 | '2019-12-01' |
name | 资源名称 | 字符串 (必需) 字符限制:1-63 有效字符: 小写字母、数字和连字符。 不能以连字符开头或结尾。 不允许连续的连字符。 |
location | 资源位置。 | 字符串 |
标记 | 资源标记。 | 标记名称和值的字典。 请参阅 模板中的标记 |
标识 | 容器组的标识(如果已配置)。 | ContainerGroupIdentity |
properties | 容器组属性 | ContainerGroupProperties (必需) |
ContainerGroupIdentity
名称 | 说明 | Value |
---|---|---|
type | 容器组使用的标识类型。 类型“SystemAssigned ,UserAssigned”包含隐式创建的标识和一组用户分配的标识。 类型“None”删除容器组中的所有标识。 | “None” “SystemAssigned” “SystemAssigned, UserAssigned” “UserAssigned” |
userAssignedIdentities | 与容器组关联的用户标识列表。 用户标识字典键引用将是 ARM 资源 ID,格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | 对象 (object) |
ContainerGroupProperties
名称 | 说明 | Value |
---|---|---|
containers | 容器组中的容器。 | Container[] (所需的) |
诊断 | 容器组的诊断信息。 | ContainerGroupDiagnostics |
dnsConfig | 容器组的 DNS 配置信息。 | DnsConfiguration |
encryptionProperties | 容器组的加密属性。 | EncryptionProperties |
imageRegistryCredentials | 创建容器组所依据的映像注册表凭据。 | ImageRegistryCredential[] |
initContainers | 容器组的 Init 容器。 | InitContainerDefinition[] |
ipAddress | 容器组的 IP 地址类型。 | IpAddress |
networkProfile | 容器组的网络配置文件信息。 | ContainerGroupNetworkProfile |
osType | 容器组中容器所需的操作系统类型。 | 'Linux' “Windows” (必需) |
restartPolicy | 容器组中所有容器的重启策略。 - Always 始终重启- OnFailure 失败时重启- Never 从不重启 |
“Always” “从不” “OnFailure” |
sku | 容器组的 SKU。 | “专用” 'Standard' |
volumes | 此容器组中的容器可以装载的卷列表。 | Volume[] |
容器
名称 | 说明 | 值 |
---|---|---|
name | 用户提供的容器实例名称。 | 字符串 (必需) |
properties | 容器实例的属性。 | ContainerProperties (必需) |
ContainerProperties
名称 | 说明 | Value |
---|---|---|
command | 要在容器实例中执行的 exec 形式的命令。 | string[] |
environmentVariables | 要在容器实例中设置的环境变量。 | EnvironmentVariable[] |
image | 用于创建容器实例的映像的名称。 | 字符串 (必需) |
livenessProbe | 运行情况探测。 | ContainerProbe |
ports | 容器实例上的已公开端口。 | ContainerPort[] |
readinessProbe | 就绪情况探测。 | ContainerProbe |
resources | 容器实例的资源要求。 | ResourceRequirements (必需) |
volumeMounts | 容器实例可用的卷装入点数。 | VolumeMount[] |
EnvironmentVariable
名称 | 说明 | 值 |
---|---|---|
name | 环境变量的名称。 | 字符串 (必需) |
secureValue | 安全环境变量的值。 | string |
value | 环境变量的值。 | string |
ContainerProbe
名称 | 说明 | Value |
---|---|---|
exec | 要探测的执行命令 | ContainerExec |
failureThreshold | 失败阈值。 | int |
httpGet | 要探测的 Http Get 设置 | ContainerHttpGet |
initialDelaySeconds | 初始延迟秒数。 | int |
periodSeconds | 时间段秒数。 | int |
successThreshold | 成功阈值。 | int |
timeoutSeconds | 超时秒数。 | int |
ContainerExec
名称 | 说明 | Value |
---|---|---|
command | 要在容器中执行的命令。 | string[] |
ContainerHttpGet
名称 | 说明 | Value |
---|---|---|
path | 要探测的路径。 | string |
port | 要探测的端口号。 | int (必需) |
scheme | 方案。 | 'http' 'https' |
ContainerPort
名称 | 说明 | 值 |
---|---|---|
port | 容器组中公开的端口号。 | int (必需) |
protocol | 与端口关联的协议。 | 'TCP' 'UDP' |
ResourceRequirements
名称 | 说明 | 值 |
---|---|---|
限制 | 此容器实例的资源限制。 | ResourceLimits |
请求 | 此容器实例的资源请求。 | ResourceRequests (所需的) |
ResourceLimits
名称 | 说明 | 值 |
---|---|---|
cpu | 此容器实例的 CPU 限制。 | int |
gpu | 此容器实例的 GPU 限制。 | GpuResource |
memoryInGB | 此容器实例的内存限制 (GB)。 若要指定十进制值,请使用 json () 函数。 | int 或 json decimal |
GpuResource
名称 | 说明 | Value |
---|---|---|
count | GPU 资源计数。 | int (必需) |
sku | GPU 资源的 SKU。 | 'K80' “P100” 需要“V100” () |
ResourceRequests
名称 | 说明 | 值 |
---|---|---|
cpu | 此容器实例的 CPU 请求。 | int (必需) |
gpu | 此容器实例的 GPU 请求。 | GpuResource |
memoryInGB | 此容器实例的内存请求 (GB)。 若要指定十进制值,请使用 json () 函数。 | 需要 int 或 json decimal () |
VolumeMount
名称 | 说明 | 值 |
---|---|---|
mountPath | 容器中要将该卷装载到的路径。 不得包含冒号 (:)。 | 字符串 (必需) |
name | 卷装入点的名称。 | 字符串 (必需) |
readOnly | 指示卷装入点是否为只读的标志。 | bool |
ContainerGroupDiagnostics
名称 | 说明 | Value |
---|---|---|
logAnalytics | 容器组日志分析信息。 | LogAnalytics |
LogAnalytics
名称 | 说明 | 值 |
---|---|---|
logType | 要使用的日志类型。 | “ContainerInsights” “ContainerInstanceLogs” |
metadata | Log Analytics 的元数据。 | 对象 (object) |
workspaceId | Log Analytics 的工作区 ID | 字符串 (必需) |
workspaceKey | Log Analytics 的工作区键 | 字符串 (必需) |
DnsConfiguration
名称 | 说明 | Value |
---|---|---|
nameServers | 容器组的 DNS 服务器。 | string[] (必需的) |
options | 容器组的 DNS 选项。 | 字符串 |
searchDomains | 容器组中主机名查找的 DNS 搜索域。 | string |
EncryptionProperties
名称 | 说明 | 值 |
---|---|---|
keyName | 加密密钥名称。 | 字符串 (必需) |
keyVersion | 加密密钥版本。 | 字符串 (必需) |
vaultBaseUrl | 密钥保管库基础 URL。 | 字符串 (必需) |
ImageRegistryCredential
名称 | 说明 | 值 |
---|---|---|
password | 专用注册表的密码。 | string |
server | 没有协议(例如“http”或“https”)的 Docker 映像注册表服务器。 | 字符串 (必需) |
username | 专用注册表的用户名。 | 字符串 (必需) |
InitContainerDefinition
名称 | 说明 | 值 |
---|---|---|
name | Init 容器的名称。 | 字符串 (必需) |
properties | Init 容器的属性。 | InitContainerPropertiesDefinition (必需) |
InitContainerPropertiesDefinition
名称 | 说明 | Value |
---|---|---|
command | 要在 Init 容器中以 exec 形式执行的命令。 | string[] |
environmentVariables | 要在 Init 容器中设置的环境变量。 | EnvironmentVariable[] |
image | Init 容器的映像。 | string |
volumeMounts | 可用于 Init 容器的卷装载。 | VolumeMount[] |
IpAddress
名称 | 说明 | 值 |
---|---|---|
dnsNameLabel | IP 的 DNS 名称标签。 | 字符串 |
ip | 向公共 Internet 公开的 IP。 | 字符串 |
ports | 容器组上公开的端口列表。 | 端口[] (必需的) |
类型 | 指定 IP 是否向公共 Internet 或专用 VNET 公开。 | “Private” “Public” (必需) |
端口
名称 | 说明 | 值 |
---|---|---|
port | 端口号。 | int (必需) |
protocol | 与端口关联的协议。 | “TCP” “UDP” |
ContainerGroupNetworkProfile
名称 | 说明 | Value |
---|---|---|
id | 网络配置文件的标识符。 | 字符串 (必需) |
数据量(Volume)
名称 | 说明 | 值 |
---|---|---|
azureFile | Azure 文件卷。 | AzureFileVolume |
emptyDir | 空目录卷。 | |
gitRepo | Git 存储库卷。 | GitRepoVolume |
name | 卷的名称。 | 字符串 (必需) |
secret | 机密卷。 | 对象 (object) |
AzureFileVolume
名称 | 说明 | 值 |
---|---|---|
readOnly | 指示以卷形式装载的 Azure 文件共享是否为只读的标志。 | bool |
shareName | 要以卷形式装载的 Azure 文件共享的名称。 | 字符串 (必需) |
storageAccountKey | 用于访问 Azure 文件共享的存储帐户访问密钥。 | 字符串 |
storageAccountName | 包含 Azure 文件共享的存储帐户的名称。 | 字符串 (必需) |
GitRepoVolume
名称 | 说明 | Value |
---|---|---|
目录 | 目标目录名称。 不得包含“..”,也不能以其开头。 如果提供了“.”,则卷目录将是 Git 存储库。 否则,卷将包含子目录中具有给定名称的 Git 存储库(如果已指定)。 | 字符串 |
repository | 存储库 URL | 字符串 (必需) |
revision | 指定的修订版的提交哈希。 | 字符串 |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 说明 |
---|---|
在 AKS 上SQL Server可用性组 |
这会创建新的 AKS 群集,然后使用使用 Duffle 和 ACI 部署的 CNAB 包将SQL Server可用性组部署到其中 |
创建 WordPress 站点 |
此模板在容器实例上创建 WordPress 站点 |
在虚拟网络中创建 WordPress 站点 |
此模板在虚拟网络中的容器实例上创建 WordPress 站点。 并输出可访问 WordPress 站点的公共站点 FQDN。 |
Azure 容器实例 - BC 与 SQL Server 和 IIS |
在 Azure 容器实例 上部署具有功能齐全的 Microsoft Dynamics 365 Business Central 环境的单个 Windows 容器。 |
带有容器实例和应用程序网关的 Front Door |
此模板使用容器组和应用程序网关创建 Front Door 标准版/高级版。 |
Front Door Standard/Premium with Azure 容器实例 |
此模板使用容器组创建 Front Door 标准版/高级版。 |
Azure 容器实例 - 具有运行状况探测的容器 |
使用 Azure 容器实例 部署具有运行状况探测的 Linux 容器。 |
Azure 容器实例 - 具有公共 IP 的 Linux 容器 |
使用 Azure 容器实例 部署可通过公共 IP 访问的单个 Linux 容器。 |
Azure 容器实例 - 具有安全 envVar 的容器 |
使用 Azure 容器实例 部署具有安全环境变量的 Linux 容器。 |
Azure 容器实例 - 具有 emptyDir 的 Linux 容器 |
使用 Azure 容器实例 部署两个共享 emptyDir 卷的 Linux 容器。 |
Azure 容器实例 - 包含 gitRepo 的 Linux 容器 |
使用 Azure 容器实例 部署使用 gitRepo 卷的 Linux 容器。 |
Azure 容器实例 - 包含机密的容器 |
使用 Azure 容器实例 部署具有机密卷的 Linux 容器。 |
创建具有持久性存储的按需 SFTP 服务器 |
此模板演示使用 Azure 容器实例 (ACI) 的按需 SFTP 服务器。 |
使用现有存储帐户的按需 SFTP 服务器 |
此模板演示使用 Azure 容器实例 (ACI) 的按需 SFTP 服务器。 |
通过容器创建存储帐户文件共享 |
此模板通过 azure-cli 在容器实例中创建存储帐户和文件共享 |
ACI 中的 UDP 容器 |
此模板创建 ACI 资源并通过 UDP 公开容器 |
Azure 容器实例 - VNet |
将容器实例部署到 Azure 虚拟网络中。 |
使用证书创建应用程序网关 |
此模板演示如何生成密钥保管库自签名证书,然后从应用程序网关引用。 |
Terraform (AzAPI 提供程序) 资源定义
containerGroups 资源类型可以通过针对以下操作进行部署:
- 资源组
有关每个 API 版本中更改的属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.ContainerInstance/containerGroups 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ContainerInstance/containerGroups@2019-12-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
containers = [
{
name = "string"
properties = {
command = [
"string"
]
environmentVariables = [
{
name = "string"
secureValue = "string"
value = "string"
}
]
image = "string"
livenessProbe = {
exec = {
command = [
"string"
]
}
failureThreshold = int
httpGet = {
path = "string"
port = int
scheme = "string"
}
initialDelaySeconds = int
periodSeconds = int
successThreshold = int
timeoutSeconds = int
}
ports = [
{
port = int
protocol = "string"
}
]
readinessProbe = {
exec = {
command = [
"string"
]
}
failureThreshold = int
httpGet = {
path = "string"
port = int
scheme = "string"
}
initialDelaySeconds = int
periodSeconds = int
successThreshold = int
timeoutSeconds = int
}
resources = {
limits = {
cpu = int
gpu = {
count = int
sku = "string"
}
memoryInGB = "decimal-as-string"
}
requests = {
cpu = int
gpu = {
count = int
sku = "string"
}
memoryInGB = "decimal-as-string"
}
}
volumeMounts = [
{
mountPath = "string"
name = "string"
readOnly = bool
}
]
}
}
]
diagnostics = {
logAnalytics = {
logType = "string"
metadata = {}
workspaceId = "string"
workspaceKey = "string"
}
}
dnsConfig = {
nameServers = [
"string"
]
options = "string"
searchDomains = "string"
}
encryptionProperties = {
keyName = "string"
keyVersion = "string"
vaultBaseUrl = "string"
}
imageRegistryCredentials = [
{
password = "string"
server = "string"
username = "string"
}
]
initContainers = [
{
name = "string"
properties = {
command = [
"string"
]
environmentVariables = [
{
name = "string"
secureValue = "string"
value = "string"
}
]
image = "string"
volumeMounts = [
{
mountPath = "string"
name = "string"
readOnly = bool
}
]
}
}
]
ipAddress = {
dnsNameLabel = "string"
ip = "string"
ports = [
{
port = int
protocol = "string"
}
]
type = "string"
}
networkProfile = {
id = "string"
}
osType = "string"
restartPolicy = "string"
sku = "string"
volumes = [
{
azureFile = {
readOnly = bool
shareName = "string"
storageAccountKey = "string"
storageAccountName = "string"
}
gitRepo = {
directory = "string"
repository = "string"
revision = "string"
}
name = "string"
secret = {}
}
]
}
})
}
属性值
containerGroups
名称 | 说明 | Value |
---|---|---|
type | 资源类型 | “Microsoft.ContainerInstance/containerGroups@2019-12-01” |
name | 资源名称 | 字符串 (必需) 字符限制:1-63 有效字符: 小写字母、数字和连字符。 不能以连字符开头或结尾。 不允许连续的连字符。 |
location | 资源位置。 | 字符串 |
parent_id | 若要部署到资源组,请使用该资源组的 ID。 | 字符串 (必需) |
标记 | 资源标记。 | 标记名称和值的字典。 |
标识 | 容器组的标识(如果已配置)。 | ContainerGroupIdentity |
properties | 容器组属性 | ContainerGroupProperties (必需) |
ContainerGroupIdentity
名称 | 说明 | Value |
---|---|---|
type | 容器组使用的标识类型。 类型“SystemAssigned ,UserAssigned”包含隐式创建的标识和一组用户分配的标识。 类型“None”删除容器组中的所有标识。 | “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned” |
identity_ids | 与容器组关联的用户标识列表。 用户标识字典密钥引用将是 ARM 资源 ID,格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | 用户标识 ID 数组。 |
ContainerGroupProperties
名称 | 说明 | Value |
---|---|---|
containers | 容器组中的容器。 | Container[] (必需的) |
诊断 | 容器组的诊断信息。 | ContainerGroupDiagnostics |
dnsConfig | 容器组的 DNS 配置信息。 | DnsConfiguration |
encryptionProperties | 容器组的加密属性。 | EncryptionProperties |
imageRegistryCredentials | 创建容器组所依据的映像注册表凭据。 | ImageRegistryCredential[] |
initContainers | 容器组的 Init 容器。 | InitContainerDefinition[] |
ipAddress | 容器组的 IP 地址类型。 | IpAddress |
networkProfile | 容器组的网络配置文件信息。 | ContainerGroupNetworkProfile |
osType | 容器组中容器所需的操作系统类型。 | “Linux” “Windows” (必需) |
restartPolicy | 容器组中所有容器的重启策略。 - Always 始终重启- OnFailure 失败时重启- Never 从不重启 |
“Always” “Never” “OnFailure” |
sku | 容器组的 SKU。 | “专用” “Standard” |
volumes | 此容器组中的容器可以装载的卷列表。 | Volume[] |
容器
名称 | 说明 | 值 |
---|---|---|
name | 用户提供的容器实例名称。 | 字符串 (必需) |
properties | 容器实例的属性。 | ContainerProperties (必需) |
ContainerProperties
名称 | 说明 | Value |
---|---|---|
command | 要在容器实例中执行的 exec 形式的命令。 | string[] |
environmentVariables | 要在容器实例中设置的环境变量。 | EnvironmentVariable[] |
image | 用于创建容器实例的映像的名称。 | 字符串 (必需) |
livenessProbe | 运行情况探测。 | ContainerProbe |
ports | 容器实例上的已公开端口。 | ContainerPort[] |
readinessProbe | 就绪情况探测。 | ContainerProbe |
resources | 容器实例的资源要求。 | ResourceRequirements (必需) |
volumeMounts | 容器实例可用的卷装入点数。 | VolumeMount[] |
EnvironmentVariable
名称 | 说明 | 值 |
---|---|---|
name | 环境变量的名称。 | 字符串 (必需) |
secureValue | 安全环境变量的值。 | string |
value | 环境变量的值。 | 字符串 |
ContainerProbe
名称 | 说明 | Value |
---|---|---|
exec | 要探测的执行命令 | ContainerExec |
failureThreshold | 失败阈值。 | int |
httpGet | 要探测的 Http Get 设置 | ContainerHttpGet |
initialDelaySeconds | 初始延迟秒数。 | int |
periodSeconds | 时间段秒数。 | int |
successThreshold | 成功阈值。 | int |
timeoutSeconds | 超时秒数。 | int |
ContainerExec
名称 | 说明 | Value |
---|---|---|
command | 要在容器中执行的命令。 | string[] |
ContainerHttpGet
名称 | 说明 | Value |
---|---|---|
path | 要探测的路径。 | string |
port | 要探测的端口号。 | int (必需) |
scheme | 方案。 | “http” “https” |
ContainerPort
名称 | 说明 | 值 |
---|---|---|
port | 容器组中公开的端口号。 | int (必需) |
protocol | 与端口关联的协议。 | “TCP” “UDP” |
ResourceRequirements
名称 | 说明 | 值 |
---|---|---|
限制 | 此容器实例的资源限制。 | ResourceLimits |
请求 | 此容器实例的资源请求。 | ResourceRequests (必需) |
ResourceLimits
名称 | 说明 | 值 |
---|---|---|
cpu | 此容器实例的 CPU 限制。 | int |
gpu | 此容器实例的 GPU 限制。 | GpuResource |
memoryInGB | 此容器实例的内存限制 (GB)。 将十进制值指定为字符串。 | int 或 json decimal |
GpuResource
名称 | 说明 | Value |
---|---|---|
count | GPU 资源计数。 | int (必需) |
sku | GPU 资源的 SKU。 | “K80” “P100” 需要“V100” () |
ResourceRequests
名称 | 说明 | 值 |
---|---|---|
cpu | 此容器实例的 CPU 请求。 | int (必需) |
gpu | 此容器实例的 GPU 请求。 | GpuResource |
memoryInGB | 此容器实例的内存请求 (GB)。 将十进制值指定为字符串。 | 需要 int 或 json decimal () |
VolumeMount
名称 | 说明 | 值 |
---|---|---|
mountPath | 容器中要将该卷装载到的路径。 不得包含冒号 (:)。 | 字符串 (必需) |
name | 卷装入点的名称。 | 字符串 (必需) |
readOnly | 指示卷装入点是否为只读的标志。 | bool |
ContainerGroupDiagnostics
名称 | 说明 | Value |
---|---|---|
logAnalytics | 容器组日志分析信息。 | LogAnalytics |
LogAnalytics
名称 | 说明 | 值 |
---|---|---|
logType | 要使用的日志类型。 | “ContainerInsights” “ContainerInstanceLogs” |
metadata | Log Analytics 的元数据。 | 对象 (object) |
workspaceId | Log Analytics 的工作区 ID | 字符串 (必需) |
workspaceKey | Log Analytics 的工作区键 | 字符串 (必需) |
DnsConfiguration
名称 | 说明 | Value |
---|---|---|
nameServers | 容器组的 DNS 服务器。 | string[] (必需的) |
options | 容器组的 DNS 选项。 | 字符串 |
searchDomains | 容器组中主机名查找的 DNS 搜索域。 | string |
EncryptionProperties
名称 | 说明 | 值 |
---|---|---|
keyName | 加密密钥名称。 | 字符串 (必需) |
keyVersion | 加密密钥版本。 | 字符串 (必需) |
vaultBaseUrl | 密钥保管库基础 URL。 | 字符串 (必需) |
ImageRegistryCredential
名称 | 说明 | 值 |
---|---|---|
password | 专用注册表的密码。 | string |
server | 没有协议(例如“http”或“https”)的 Docker 映像注册表服务器。 | 字符串 (必需) |
username | 专用注册表的用户名。 | 字符串 (必需) |
InitContainerDefinition
名称 | 说明 | 值 |
---|---|---|
name | Init 容器的名称。 | 字符串 (必需) |
properties | Init 容器的属性。 | InitContainerPropertiesDefinition (必需) |
InitContainerPropertiesDefinition
名称 | 说明 | Value |
---|---|---|
command | 要在 Init 容器中以 exec 形式执行的命令。 | string[] |
environmentVariables | 要在 Init 容器中设置的环境变量。 | EnvironmentVariable[] |
image | Init 容器的映像。 | 字符串 |
volumeMounts | 可用于 Init 容器的卷装载。 | VolumeMount[] |
IpAddress
名称 | 说明 | 值 |
---|---|---|
dnsNameLabel | IP 的 DNS 名称标签。 | 字符串 |
ip | 向公共 Internet 公开的 IP。 | string |
ports | 容器组上公开的端口列表。 | 端口[] (必需的) |
类型 | 指定 IP 是否向公共 Internet 或专用 VNET 公开。 | “Private” 需要“公共” () |
端口
名称 | 说明 | 值 |
---|---|---|
port | 端口号。 | int (必需) |
protocol | 与端口关联的协议。 | “TCP” “UDP” |
ContainerGroupNetworkProfile
名称 | 说明 | Value |
---|---|---|
id | 网络配置文件的标识符。 | 字符串 (必需) |
数据量(Volume)
名称 | 说明 | 值 |
---|---|---|
azureFile | Azure 文件卷。 | AzureFileVolume |
emptyDir | 空目录卷。 | |
gitRepo | Git 存储库卷。 | GitRepoVolume |
name | 卷的名称。 | 字符串 (必需) |
secret | 机密卷。 | 对象 (object) |
AzureFileVolume
名称 | 说明 | 值 |
---|---|---|
readOnly | 指示以卷形式装载的 Azure 文件共享是否为只读的标志。 | bool |
shareName | 要以卷形式装载的 Azure 文件共享的名称。 | 字符串 (必需) |
storageAccountKey | 用于访问 Azure 文件共享的存储帐户访问密钥。 | 字符串 |
storageAccountName | 包含 Azure 文件共享的存储帐户的名称。 | 字符串 (必需) |
GitRepoVolume
名称 | 说明 | Value |
---|---|---|
目录 | 目标目录名称。 不得包含“..”,也不能以其开头。 如果提供了“.”,则卷目录将是 Git 存储库。 否则,卷将包含子目录中具有给定名称的 Git 存储库(如果已指定)。 | string |
repository | 存储库 URL | 字符串 (必需) |
revision | 指定的修订版的提交哈希。 | 字符串 |