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

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

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

Для получения подробной информации о запросах вебхука см. справочник по схеме вебхука в реестре контейнеров Azure.

Prerequisites

Создать вебхук - портал Azure

  1. Войдите на портал Azure.
  2. Перейдите в реестр контейнеров, где нужно создать веб-хук.
  3. В разделе "Службы" выберите веб-перехватчики.
  4. Выберите «Добавить» на панели инструментов вебхука.
  5. Заполните форму Создать вебхук со следующими сведениями:
Value Description
Имя веб-перехватчика Имя, которое вы хотите дать вебхуку. Он может содержать только буквы и цифры, а длина должна составлять 5–50 символов.
Location Для геореплицированного реестра укажите регион Azure реплики реестра.
URI службы URI, на который веб-перехватчик должен отправлять уведомления POST.
Пользовательские заголовки Заголовки, которые необходимо передать вместе с запросом POST. Они должны быть в формате "ключ: значение".
"Trigger actions" (Активирующие действия) Действия, которые активируют веб-перехватчик. Действия включают отправку изображений, удаление изображений, push-отправку диаграмм Helm, удаление диаграмм Helm и карантин изображений. Чтобы активировать веб-перехватчик, можно выбрать одно или несколько действий.
Status Состояние вебхука после его создания. Она включена по умолчанию.
Scope Область применения веб-перехватчика. Если не указано, область охватывает все события в реестре. Его можно указать для репозитория или тега с помощью формата "репозиторий:tag" или "репозиторий:*" для всех тегов в репозитории.

Пример формы веб-перехватчика:

Скриншот, на котором показано создание вебхука 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 portal

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

  1. Выберите вебхук, который требуется проверить.
  2. На верхней панели инструментов выберите "Ping".
  3. Проверьте ответ конечной точки в столбце HTTP STATUS .

Пользовательский интерфейс создания веб-перехватчика 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 portal

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

Azure CLI

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

Дальнейшие шаги

Справочник по схеме Webhook

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

Справочник схемы вебхуков реестра контейнеров Azure

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

Помимо событий веб-перехватчика собственного реестра, описанных в этой статье, реестр контейнеров Azure может отправлять события в Event Grid:

Краткое руководство: Отправка событий реестра контейнеров в Event Grid