Внимание
Резервные пулы для Экземпляры контейнеров Azure в настоящее время находятся в предварительной версии. Предварительные версии предоставляются только в том случае, если вы принимаете дополнительные условия использования. Некоторые аспекты этой функции могут быть изменены до выхода общедоступной версии.
В этой статье описывается создание профиля группы контейнеров и использование этого профиля для настройки резервного пула для Экземпляры контейнеров Azure.
Необходимые компоненты
Прежде чем использовать резервные пулы, выполните регистрацию компонентов и настройте элементы управления доступом на основе ролей, перечисленные на странице "Резервные пулы" для Экземпляры контейнеров Azure обзорной страницы.
Создание профиля группы контейнеров
Профиль группы контейнеров сообщает резервный пул, как настроить контейнеры в пуле. При внесении изменений в профиль группы контейнеров также необходимо обновить резервный пул, чтобы убедиться, что обновления применяются к экземплярам в пуле.
Создайте профиль группы контейнеров с помощью az 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/containerGroupProfiles",
"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"
}
Следующие шаги
Запрос контейнера из резервного пула.