Поделиться через


Использование веб-перехватчиков реестра контейнеров Azure

В реестре контейнеров Azure хранятся частные образы контейнеров Docker, а также осуществляется управление ими (подобно тому, как в Docker Hub хранятся общедоступные образы Docker). Также он может размещать репозитории для чартов Helm (предварительная версия), которые представляют собой формат упаковки для развертывания приложений в Kubernetes. Веб-перехватчики используются для активации событий при выполнении определенных действий в одном из репозиториев реестров. Веб-перехватчики могут реагировать на события на уровне реестра. Также их можно ориентировать на определенный тег репозитория. С помощью геореплицированного реестра вы можете настроить веб-перехватчик так, чтобы он реагировал на события в определенной региональной реплике.

Конечная точка веб-перехватчика должна быть общедоступна из реестра. Вы можете настроить для веб-перехватчика реестра проверку подлинности запросов в защищенной конечной точке.

Дополнительные сведения о запросах веб-перехватчика см. в справочнике по схеме веб-перехватчика реестра контейнеров Azure.

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

  • Реестр контейнеров Azure. Создайте реестр контейнеров в своей подписке Azure. Это можно сделать на портале Azure или с помощью Azure CLI. Уровни службы Реестра контейнеров Azure имеют разные квоты для веб-перехватчиков.
  • Интерфейс командной строки Docker (Docker CLI). Установите подсистему Docker, чтобы настроить локальный компьютер в качестве узла Docker и получить доступ к командам Docker CLI.

Создание веб-перехватчика на портале Azure

  1. Войдите на портал Azure.
  2. Перейдите в реестр контейнеров, в котором нужно создать веб-перехватчик.
  3. В разделе Службы выберите Веб-перехватчики.
  4. Щелкните Добавить на панели инструментов веб-перехватчика.
  5. Заполните форму Создать веб-перехватчик следующими данными:
значение Описание
Имя веб-перехватчика Имя, назначаемое веб-перехватчику. Оно может содержать только буквы и цифры (5–50 символов).
Расположение Для геореплицированного реестра укажите регион Azure с нужной репликой реестра.
URI службы Универсальный код ресурса (URI) для отправки веб-перехватчиком уведомлений POST.
Custom headers Заголовки, которые требуется передавать вместе с запросом POST. Они должны быть в формате "ключ: значение".
"Trigger actions" (Активирующие действия) Действия, которые активируют веб-перехватчик. Поддерживаются такие действия, как отправка и удаление образа, отправка и удаление чарта Helm, а также помещение образа в карантин. Здесь можно выбрать одно или несколько действий, которые будут активировать этот веб-перехватчик.
Состояние Состояние веб-перехватчика после его создания. По умолчанию он включен.
Область Область действия веб-перехватчика. Если область не указана, учитываются все события в реестре. Можно указать определенный репозиторий или тег, используя формат "репозиторий:тег" или "репозиторий:*", чтобы учитывать все теги в одном репозитории.

Пример формы для веб-перехватчика приведен ниже.

Снимок экрана: интерфейс создания веб-перехватчика ACR на портале Azure.

Создание веб-перехватчика с помощью Azure CLI

Чтобы создать веб-перехватчик с помощью Azure CLI, используйте команду az acr webhook create. Следующая команда создает веб-перехватчик для всех событий удаления образа в реестре mycontainerregistry:

az acr webhook create --registry mycontainerregistry --name myacrwebhook01 --actions delete --uri http://webhookuri.com

Проверка веб-перехватчика

Портал Azure

Прежде чем использовать веб-перехватчик, его можно проверить с помощью кнопки Проверка связи. После нажатия этой кнопки к указанной конечной точке отправляется общий запрос POST и ответ записывается в журнал. Используя функцию проверки связи, мы сможем проверить, правильно ли настроен веб-перехватчик.

  1. Выберите веб-перехватчик, который требуется проверить.
  2. В верхней части панели инструментов выберите Проверка связи.
  3. Просмотрите ответ от конечной точки в столбце СОСТОЯНИЕ HTTP.

Пользовательский интерфейс создания веб-перехватчика ACR на портале Azure

Azure CLI

Чтобы протестировать веб-перехватчик ACR с помощью Azure CLI, используйте команду az acr webhook ping.

az acr webhook ping --registry mycontainerregistry --name myacrwebhook01

Чтобы просмотреть результаты, используйте команду az acr webhook list-events.

az acr webhook list-events --registry mycontainerregistry08 --name myacrwebhook01

Удаление веб-перехватчика

Портал Azure

Любой веб-перехватчик можно удалить, выбрав его и нажав кнопку Удалить на портале Azure.

Azure CLI

az acr webhook delete --registry mycontainerregistry --name myacrwebhook01

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

Справочник по схеме веб-перехватчика

Дополнительные сведения о формате и свойствах полезных данных событий JSON, генерируемых Реестром контейнеров Azure, см. в справочнике по схеме веб-перехватчика:

Azure Container Registry webhook schema reference (Справочник по схеме реестра контейнеров Azure)

События Сетки событий

В дополнение к событиям веб-перехватчика собственного реестра, описанным в этой статье, Реестр контейнеров Azure может генерировать события для Сетки событий.

Краткое руководство. Отправка событий реестра контейнеров в Сетку событий