Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Помимо георепликации, которая реплицирует данные реестра в одном или нескольких регионах Azure для обеспечения доступности и снижения задержки для региональных операций, Azure Container Registry поддерживает необязательную зональную избыточность. Избыточность зоны обеспечивает устойчивость и высокий уровень доступности реестра или реплицированного ресурса в определенном регионе.
В этой статье показано, как настроить зонально избыточный реестр контейнеров или реплику с помощью Azure CLI, портала Azure или шаблона Azure Resource Manager.
Избыточность зоны — это функция уровня служб реестра контейнеров класса Premium. Ознакомиться с информацией об уровнях служб реестра и ограничениях можно в статье Уровни служб Реестра контейнеров Azure.
Региональная поддержка
Зоны доступности ACR поддерживаются в следующих регионах:
Американский континент Европа Африка Азиатско-Тихоокеанский регион Бразилия (Юг)
Центральная Канада
Центральная часть США
Восток США
Восток США 2
Восток США 2 EUAP
Южно-Центральная часть США
Правительство США, Вирджиния
Западная часть США 2
Западная часть США 3Центральная Франция
Западно-Центральная Германия
Италия Север
Северная Европа
Восточная Норвегия
Центральная Швеция
Северная Швейцария
Юг Соединённого Королевства
Западная ЕвропаСевер Южной Африки Восточная Австралия
Центральная Индия
Северный Китай 3
Восточная Азия
Восточная Япония
Центральная Корея
Центральный Катар
Юго-Восточная Азия
Северная часть ОАЭ;Преобразования регионов в зоны доступности в настоящее время не поддерживаются.
Чтобы включить поддержку зоны доступности в регионе, создайте реестр в нужном регионе с включенной поддержкой зоны доступности или добавьте реплицированный регион с включенной поддержкой зоны доступности.
Реестр с меткой с поддержкой AZ создает репликацию домашнего региона с меткой с поддержкой AZ по умолчанию. Метка AZ не может быть отключена после включения.
Репликация домашнего региона представляет реестр домашних регионов. Она помогает просматривать свойства зоны доступности и управлять ими и не может быть удалена.
Зона доступности предназначена для каждого региона, и после создания репликаций их состояния не могут быть изменены, за исключением удаления и повторного создания этих репликаций.
Избыточность зоны не может быть отключена в регионе.
Задачи ACR пока не поддерживают зоны доступности.
О избыточности зоны
Используйте зоны доступности Azure для создания отказоустойчивого и высокого уровня доступности реестра контейнеров Azure в регионе Azure. Например, организации могут настроить реестр контейнеров Azure, избыточный по зонам, с другими поддерживаемыми ресурсами Azure для удовлетворения требований к месту размещения данных или других требований к соответствию требованиям, обеспечивая высокий уровень доступности в пределах региона.
Реестр контейнеров Azure также поддерживает георепликацию, которая реплицирует службу в нескольких регионах, обеспечивая избыточность и локализацию вычислительных ресурсов в других местах. Сочетание зон доступности для избыточности в пределах региона и георепликации в нескольких регионах повышает надежность и производительность реестра.
Зоны доступности — уникальные физические расположения в пределах одного региона Azure. Для обеспечения устойчивости существует не менее трех отдельных зон во всех включенных регионах. Каждая зона имеет один или несколько центров обработки данных, оснащенных независимой мощностью, охлаждением и сетями. При настройке избыточности зоны реестр (или реплика реестра в другом регионе) реплицируется во всех зонах доступности в регионе, сохраняя его доступным при возникновении сбоев центра обработки данных.
Создать реестр с отказоустойчивостью между зонами - CLI
Чтобы использовать Azure CLI для обеспечения избыточности зоны, вам потребуется Azure CLI версии 2.17.0 или более поздней версии или Azure Cloud Shell. Если вам нужно установить или обновить, см. статью "Установка Azure CLI".
Создайте группу ресурсов
При необходимости выполните команду az group create , чтобы создать группу ресурсов для реестра.
az group create --name <resource-group-name> --location <location>
Создание реестра с поддержкой зоны
Выполните команду az acr create , чтобы создать реестр, избыточный по зонам, на уровне служб Premium. Выберите регион, поддерживающий зоны доступности для реестра контейнеров Azure. В следующем примере отказоустойчивость зоны включена в регионе eastus. Дополнительные параметры реестра см. в справке az acr create
по команде.
az acr create \
--resource-group <resource-group-name> \
--name <container-registry-name> \
--location eastus \
--zone-redundancy enabled \
--sku Premium
В выходных данных команды обратите внимание zoneRedundancy
на свойство реестра. Если этот параметр включен, реестр является избыточным по зонам:
{
[...]
"zoneRedundancy": "Enabled",
}
Создать зонально избыточную репликацию
Выполните команду az acr replication create, чтобы создать реплику реестра с зональной избыточностью в регионе, поддерживающем зоны доступности для реестра контейнеров Azure, например westus2.
az acr replication create \
--location westus2 \
--resource-group <resource-group-name> \
--registry <container-registry-name> \
--zone-redundancy enabled
В выходных данных команды обратите внимание на zoneRedundancy
свойство для реплики. При включении реплика становится отказоустойчивой по зонам.
{
[...]
"zoneRedundancy": "Enabled",
}
Создайте реестр с отказоустойчивостью между зонами в портале
Войдите на портал Azure.
Выберите Создать ресурс>Контейнеры>Реестр контейнеров.
На вкладке "Основные сведения" выберите или создайте группу ресурсов и введите уникальное имя реестра.
В расположении выберите регион, поддерживающий избыточность зоны для реестра контейнеров Azure, например восточная часть США.
В поле SKU выберите пункт Премиум.
В зонах доступности выберите "Включено".
При необходимости настройте дополнительные параметры реестра и нажмите кнопку "Проверить и создать".
Нажмите кнопку Создать, чтобы активировать реестр.
Чтобы создать зонально-избыточную репликацию, выполните приведенные действия.
Перейдите в реестр контейнеров уровня "Премиум" и выберите "Репликация".
На появившемся карте выберите зеленый шестнадцатеричник в регионе, который поддерживает избыточность зон для реестра контейнеров Azure, например западная часть США 2. Или нажмите кнопку +Добавить.
В окне создания репликации подтвердите расположение. В зонах доступности выберите "Включено" и нажмите кнопку "Создать".
Создание реестра с зональной избыточностью — шаблон
Создайте группу ресурсов
При необходимости выполните команду az group create , чтобы создать группу ресурсов для реестра в регионе, который поддерживает зоны доступности для реестра контейнеров Azure, например eastus. Этот регион используется шаблоном для задания расположения реестра.
az group create --name <resource-group-name> --location eastus
Развертывание шаблона
Для создания зонально-резервированного геореплицированного реестра можно использовать следующий шаблон диспетчера ресурсов. Шаблон по умолчанию активирует избыточность зоны в реестре и включает региональную реплику.
Скопируйте следующее содержимое в новый файл и сохраните его с помощью имени файла, registryZone.json
например.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"acrName": {
"type": "string",
"defaultValue": "[concat('acr', uniqueString(resourceGroup().id))]",
"minLength": 5,
"maxLength": 50,
"metadata": {
"description": "Globally unique name of your Azure Container Registry"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for registry home replica."
}
},
"acrSku": {
"type": "string",
"defaultValue": "Premium",
"allowedValues": [
"Premium"
],
"metadata": {
"description": "Tier of your Azure Container Registry. Geo-replication and zone redundancy require Premium SKU."
}
},
"acrZoneRedundancy": {
"type": "string",
"defaultValue": "Enabled",
"metadata": {
"description": "Enable zone redundancy of registry's home replica. Requires registry location to support availability zones."
}
},
"acrReplicaLocation": {
"type": "string",
"metadata": {
"description": "Short name for registry replica location."
}
},
"acrReplicaZoneRedundancy": {
"type": "string",
"defaultValue": "Enabled",
"metadata": {
"description": "Enable zone redundancy of registry replica. Requires replica location to support availability zones."
}
}
},
"resources": [
{
"comments": "Container registry for storing docker images",
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2020-11-01",
"name": "[parameters('acrName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('acrSku')]",
"tier": "[parameters('acrSku')]"
},
"tags": {
"displayName": "Container Registry",
"container.registry": "[parameters('acrName')]"
},
"properties": {
"adminUserEnabled": "[parameters('acrAdminUserEnabled')]",
"zoneRedundancy": "[parameters('acrZoneRedundancy')]"
}
},
{
"type": "Microsoft.ContainerRegistry/registries/replications",
"apiVersion": "2020-11-01",
"name": "[concat(parameters('acrName'), '/', parameters('acrReplicaLocation'))]",
"location": "[parameters('acrReplicaLocation')]",
"dependsOn": [
"[resourceId('Microsoft.ContainerRegistry/registries/', parameters('acrName'))]"
],
"properties": {
"zoneRedundancy": "[parameters('acrReplicaZoneRedundancy')]"
}
}
],
"outputs": {
"acrLoginServer": {
"value": "[reference(resourceId('Microsoft.ContainerRegistry/registries',parameters('acrName')),'2019-12-01').loginServer]",
"type": "string"
}
}
}
Выполните следующую команду az deployment group create , чтобы создать реестр с помощью предыдущего файла шаблона. Где указано, укажите:
- уникальное название реестра или разверните шаблон без параметров, и он создаст уникальное название для вас.
- расположение для реплики, поддерживающей зоны доступности, например westus2
az deployment group create \
--resource-group <resource-group-name> \
--template-file registryZone.json \
--parameters acrName=<registry-name> acrReplicaLocation=<replica-location>
В результатах выполнения команды обратите внимание на свойство zoneRedundancy
для реестра и реплики. При включении каждый ресурс является избыточным по зонам:
{
[...]
"zoneRedundancy": "Enabled",
}
Дальнейшие шаги
- Дополнительные сведения о регионах, поддерживающих зоны доступности.
- Узнайте больше о создании надежных решений в Azure.