“专用”是指一个 Azure 容器实例 (ACI) SKU,它为安全运行的容器提供独立且专用的计算环境。 使用专用 SKU 会使每个容器组在 Azure 数据中心拥有专用的物理服务器,确保工作负载完全隔离,有助于满足组织的安全性和符合性要求。
专用 SKU 适用于需要从物理服务器角度隔离工作负载的容器工作负载。
当服务将容器数据持久保留到云时,Azure 容器实例的专用主机为其提供静态双重加密。 这种加密可以保护数据,并帮助组织履行在安全性与合规性方面的要求。 ACI 还提供相应的选项让你使用自己的密钥来加密数据,使你可以更好地控制与 ACI 部署相关的数据。
先决条件
注意
由于当前的一些限制,并非所有限制增加请求都可以保证得到批准。
- 使用专用 SKU 的任何订阅的默认限制均为 0。 如果要将此 SKU 用于生产容器部署,请创建 Azure 支持请求以增加限制。
使用专用 SKU
重要
专用 SKU 仅在 API 版本 2019-12-01 或更高版本中可用。 在部署模板中指定此 API 版本或更新的版本。
从 API 版本 2019-12-01 开始,部署模板的容器组属性部分下有一个 sku
属性,它是 ACI 部署所必需的。 目前,可以将此属性用作 ACI 的 Azure 资源管理器部署模板的一部分。 若要详细了解如何使用模板来部署 ACI 资源,请参阅教程:使用资源管理器模板部署多容器组。
sku
属性可以具有下列值之一:
Standard
- 标准 ACI 部署选择,仍可保证虚拟机监控程序级别的安全性Dedicated
- 用于工作负载级别的隔离,对容器组使用专用物理主机
修改 JSON 部署模板
在部署模板中,修改或添加以下属性:
- 在
resources
下,将apiVersion
设置为2019-12-01
。 - 在容器组 properties 节下,添加值为
Dedicated
的sku
属性。
下面是使用专用 SKU 的容器组部署模板的 resources 节的示例代码片段:
[...]
"resources": [
{
"name": "[parameters('containerGroupName')]",
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2019-12-01",
"location": "[resourceGroup().location]",
"properties": {
"sku": "Dedicated",
"containers": {
[...]
}
}
}
]
以下是一个完整模板,用于部署运行单个容器实例的示例容器组:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"containerGroupName": {
"type": "string",
"defaultValue": "myContainerGroup",
"metadata": {
"description": "Container Group name."
}
}
},
"resources": [
{
"name": "[parameters('containerGroupName')]",
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2019-12-01",
"location": "[resourceGroup().location]",
"properties": {
"sku": "Dedicated",
"containers": [
{
"name": "container1",
"properties": {
"image": "nginx",
"command": [
"/bin/sh",
"-c",
"while true; do echo `date`; sleep 1000000; done"
],
"ports": [
{
"protocol": "TCP",
"port": 80
}
],
"environmentVariables": [],
"resources": {
"requests": {
"memoryInGB": 1.0,
"cpu": 1
}
}
}
}
],
"restartPolicy": "Always",
"ipAddress": {
"ports": [
{
"protocol": "TCP",
"port": 80
}
],
"type": "Public"
},
"osType": "Linux"
},
"tags": {}
}
]
}
部署容器组
使用 az group create 命令创建资源组。
az group create --name myResourceGroup --location chinaeast2
使用 az deployment group create 命令部署模板。
az deployment group create --resource-group myResourceGroup --template-file deployment-template.json
将在几秒钟内收到来自 Azure 的初始响应。 在专用主机上部署成功。