Краткое руководство. Создание реестра контейнеров с гео реплика с помощью шаблона ARM

В этом кратком руководстве показано, как создать экземпляр Реестра контейнеров Azure с помощью шаблона Azure Resource Manager (шаблона ARM). Шаблон настраивает геореплицированный реестр, который автоматически синхронизирует содержимое реестра в нескольких регионах Azure. Георепликация дает возможность получить ограниченный сетью доступ к изображениям из региональных развертываний, предоставляя единую среду управления. Эта функция относится к уровню служб реестра Премиум.

Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.

Реестр с репликациями не поддерживает развертывания шаблона ARM/Bicep в полном режиме.

Если среда соответствует предварительным требованиям и вы знакомы с использованием шаблонов ARM, нажмите кнопку Развертывание в Azure. Шаблон откроется на портале Azure.

Button to deploy the Resource Manager template to Azure.

Необходимые компоненты

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Изучение шаблона

Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure. Шаблон настраивает реестр и дополнительную региональную реплику.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.5.6.12127",
      "templateHash": "12610175857982700190"
    }
  },
  "parameters": {
    "acrName": {
      "type": "string",
      "defaultValue": "[format('acr{0}', uniqueString(resourceGroup().id))]",
      "maxLength": 50,
      "minLength": 5,
      "metadata": {
        "description": "Globally unique name of your Azure Container Registry"
      }
    },
    "acrAdminUserEnabled": {
      "type": "bool",
      "defaultValue": false,
      "metadata": {
        "description": "Enable admin user that has push / pull permission to the 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 requires Premium SKU."
      }
    },
    "acrReplicaLocation": {
      "type": "string",
      "metadata": {
        "description": "Short name for registry replica location."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ContainerRegistry/registries",
      "apiVersion": "2019-12-01-preview",
      "name": "[parameters('acrName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('acrSku')]"
      },
      "tags": {
        "displayName": "Container Registry",
        "container.registry": "[parameters('acrName')]"
      },
      "properties": {
        "adminUserEnabled": "[parameters('acrAdminUserEnabled')]"
      }
    },
    {
      "type": "Microsoft.ContainerRegistry/registries/replications",
      "apiVersion": "2019-12-01-preview",
      "name": "[format('{0}/{1}', parameters('acrName'), parameters('acrReplicaLocation'))]",
      "location": "[parameters('acrReplicaLocation')]",
      "properties": {},
      "dependsOn": [
        "[resourceId('Microsoft.ContainerRegistry/registries', parameters('acrName'))]"
      ]
    }
  ],
  "outputs": {
    "acrLoginServer": {
      "type": "string",
      "value": "[reference(resourceId('Microsoft.ContainerRegistry/registries', parameters('acrName'))).loginServer]"
    }
  }
}

В шаблоне определены следующие ресурсы:

Другие примеры шаблонов службы "Реестр контейнеров Azure" можно найти в коллекции шаблонов быстрого запуска.

Развертывание шаблона

  1. Выберите следующее изображение, чтобы войти на портал Azure и открыть шаблон.

    Button to deploy the Resource Manager template to Azure.

  2. Введите или выберите следующие значения.

    • Подписка. Выберите нужную подписку Azure.

    • Группа ресурсов. Щелкните Создать, введите уникальное имя новой группы ресурсов и щелкните ОК.

    • Регион. Выберите расположение группы ресурсов. Пример: центральная часть США.

    • Имя записи контроля доступа. Используйте имя, созданное для реестра, или введите другое имя. Оно должно быть глобально уникальным.

    • Пользователь с правами администратора ACR включен. Сохраните значение по умолчанию.

    • Местоположение. Примите созданное для основной реплики реестра местоположение или введите другое местоположение, например Центральная часть США.

    • Номер SKU ACR. Примите значение по умолчанию.

    • Acr Replica Location (Местоположение реплики Acr). Введите местоположения реплики реестра, указав короткое имя региона. Оно должно отличаться от местоположения основного реестра. Пример: westeurope.

      Template properties

  3. Нажмите кнопку Просмотр и создание, затем ознакомьтесь с условиями. Если вы принимаете их, нажмите кнопку Создать.

  4. После успешного создания реестра вы получите уведомление:

    Portal notification

Для развертывания шаблона используется портал Azure. Кроме портала Azure, вы можете использовать Azure PowerShell, Azure CLI и REST API. Дополнительные сведения о других методах развертывания см. в статье о развертывании с использованием шаблонов.

Просмотр развернутых ресурсов

Для просмотра свойств реестра контейнеров используйте портал Azure или такое средство, как Azure CLI.

  1. На портале найдите реестры контейнеров и выберите созданный реестр.

  2. Запишите значение Сервер входа реестра а странице Обзор. Используйте этот универсальный код ресурса (URI) в Docker, чтобы отмечать образы и отправлять их в реестр. Дополнительные сведения см. в статье Отправка первого образа с помощью интерфейса командной строки Docker.

    Registry overview

  3. На странице Репликации проверьте местоположения основной реплики и реплики, добавленной с помощью шаблона. При необходимости добавьте дополнительные реплики на этой странице.

    Registry replications

Очистка ресурсов

Ставшие ненужными группу ресурсов, реестр и реплику реестра можно удалить. Для этого на портале Azure выберите группу ресурсов, содержащую реестр, и щелкните Удалить группу ресурсов.

Delete resource group

Следующие шаги

В этом кратком руководстве показано, как создать Реестр контейнеров Azure с помощью шаблона ARM и настроить реплику реестра в другом расположении. Чтобы продолжить работу с Реестром контейнеров Azure, перейдите к следующим руководствам.

Пошаговые инструкции по созданию шаблона см. в следующей статье: