你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
为 Azure 容器实例(预览版)创建备用池
重要
Azure 容器实例的备用池现在为预览版。 需同意补充使用条款才可使用预览版。 在正式版 (GA) 推出之前,此功能的某些方面可能会有所更改。
本文逐步介绍如何创建容器组配置文件,并使用该配置文件为 Azure 容器实例配置备用池。
先决条件
在使用备用池之前,请完成功能注册并配置基于角色的访问控制(如 Azure 容器实例的备用池中所列)。
创建容器组配置文件
容器组配置文件告知备用池如何在池中配置容器。 如果对容器组配置文件进行更改,则还需要更新备用池,确保更新应用于池中的实例。
注意
若要使用机密容器,请在创建容器组配置文件时将 sku
类型更新为 Confidential
。
使用 az container container-group-profile create 创建容器组配置文件。 可以选择在容器组配置文件中包含配置映射详细信息。 有关配置映射的详细信息,请参阅使用配置映射。
az container container-group-profile create \
--resource-group myResourceGroup \
--name mycontainergroupprofile \
--location WestCentralUS \
--image nginx \
--os-type Linux \
--ip-address Public \
--ports 8000 \
--cpu 1 \
--memory 1.5 \
--restart-policy Never
使用 New-AzContainerInstanceContainerGroupProfile 创建容器组配置文件。 可以选择在容器组配置文件中包含配置映射详细信息。 有关配置映射的详细信息,请参阅使用配置映射。
$port1 = New-AzContainerInstancePortObject -Port 8000 -Protocol TCP
$port2 = New-AzContainerInstancePortObject -Port 8001 -Protocol TCP
$container = New-AzContainerInstanceObject -Name mycontainer -Image nginx -RequestCpu 1 -RequestMemoryInGb 1.5 -Port @($port1, $port2)
New-AzContainerInstanceContainerGroupProfile `
-ResourceGroupName myResourceGroup `
-Name mycontainergroupprofile `
-Location WestCentralUS `
-Container $container `
-OsType Linux `
-RestartPolicy "Never" `
-IpAddressType Public
创建容器组配置文件,并保存模板文件。 使用 az deployment group create 或 New-AzResourceGroupDeployment 部署模板。 可以选择在容器组配置文件中包含配置映射详细信息。 有关配置映射的详细信息,请参阅使用配置映射。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2024-05-01-preview",
"name": "[parameters('profileName')]",
"location": "[parameters('location')]",
"properties": {
"containers": [
{
"name": "mycontainergroupprofile",
"properties": {
"image": "[parameters('containerImage')]",
"ports": [
{
"port": 8000
}
],
"resources": {
"requests": {
"cpu": 1,
"memoryInGB": 1.5
}
},
"command": [],
"environmentVariables": []
}
}
],
"osType": "Linux",
"ipAddress": {
"type": "Public",
"ports": [
{
"protocol": "TCP",
"port": 8000
}
]
},
"imageRegistryCredentials": [],
"sku": "Standard"
}
}
],
"parameters": {
"profileName": {
"type": "string",
"defaultValue": "mycontainergroupprofile",
"metadata": {
"description": "Name of the container profile"
}
},
"location": {
"type": "string",
"defaultValue": "West Central US",
"metadata": {
"description": "Location for the resource"
}
},
"containerImage": {
"type": "string",
"defaultValue": "mcr.microsoft.com/azuredocs/aci-helloworld:latest",
"metadata": {
"description": "The container image to use"
}
}
}
}
使用创建或更新创建容器组配置文件。 可以选择在容器组配置文件中包含配置映射详细信息。 有关配置映射的详细信息,请参阅使用配置映射。
PUT https://management.azure.com/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/myContainerGroupProfile?api-version=2024-05-01-preview
Request Body
{
"location": "West Central US",
"properties":{
"containers": [
{
"name":"mycontainergroupprofile",
"properties": {
"command":[],
"environmentVariables":[],
"image":"mcr.microsoft.com/azuredocs/aci-helloworld:latest",
"ports":[
{
"port":8000
}
],
"resources": {
"requests": {
"cpu":1,
"memoryInGB":1.5
}
}
}
}
],
"imageRegistryCredentials":[],
"ipAddress":{
"ports":[
{
"protocol":"TCP",
"port":8000
}
],
"type":"Public"
},
"osType":"Linux",
"sku":"Standard"
}
}
创建备用池
使用 az standby-container-group-pool create 创建备用池,并将其与容器组配置文件相关联。
az standby-container-group-pool create \
--resource-group myResourceGroup
--location WestCentralUS \
--name myStandbyPool \
--max-ready-capacity 20 \
--refill-policy always \
--container-profile-id "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/myContainerGroupProfile"
使用 New-AzStandbyContainerGroupPool 创建备用池,并将其与容器组配置文件相关联。
New-AzStandbyContainerGroupPool `
-ResourceGroup myResourceGroup `
-Location "WestCentralUS" `
-Name myStandbyPool `
-MaxReadyCapacity 20 `
-RefillPolicy always `
-ContainerProfileId "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/mycontainergroupprofile"
创建备用池,并将其与容器组配置文件相关联。 使用 az deployment group create 或 New-AzResourceGroupDeployment 创建和部署模板。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "West Central US"
},
"name": {
"type": "string",
"defaultValue": "myStandbyPool"
},
"maxReadyCapacity" : {
"type": "int",
"defaultValue": 10
},
"refillPolicy" : {
"type": "string",
"defaultValue": "always"
},
"containerGroupProfile" : {
"type": "string",
"defaultValue": "/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/mycontainergroupprofile"
}
},
"resources": [
{
"type": "Microsoft.StandbyPool/standbyContainerGroupPools",
"apiVersion": "2024-03-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"properties": {
"elasticityProfile": {
"maxReadyCapacity": "[parameters('maxReadyCapacity')]",
"refillPolicy": "[parameters('refillPolicy')]"
},
"containerGroupProfile": "[parameters('containerGroupProfile')]"
}
}
]
}
使用创建或更新创建备用池,并将其与容器组配置文件相关联。
PUT https://management.azure.com/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.StandbyPool/standbyContainerGroupPools/myStandbyPool?api-version=2024-03-01
Request Body
{
"properties": {
"elasticityProfile": {
"maxReadyCapacity": 20,
"refillPolicy": "always"
},
"containerGroupProperties": {
"containerGroupProfile": {
"id": "/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/mycontainergroupprofile",
"revision": 1
}
}
},
"location": "West Central US"
}
后续步骤
请求备用池中的容器。