Использование веб-перехватчиков реестра контейнеров Azure
В реестре контейнеров Azure хранятся частные образы контейнеров Docker, а также осуществляется управление ими (подобно тому, как в Docker Hub хранятся общедоступные образы Docker). Также он может размещать репозитории для чартов Helm (предварительная версия), которые представляют собой формат упаковки для развертывания приложений в Kubernetes. Веб-перехватчики используются для активации событий при выполнении определенных действий в одном из репозиториев реестров. Веб-перехватчики могут реагировать на события на уровне реестра. Также их можно ориентировать на определенный тег репозитория. С помощью геореплицированного реестра вы можете настроить веб-перехватчик так, чтобы он реагировал на события в определенной региональной реплике.
Конечная точка веб-перехватчика должна быть общедоступна из реестра. Вы можете настроить для веб-перехватчика реестра проверку подлинности запросов в защищенной конечной точке.
Дополнительные сведения о запросах веб-перехватчика см. в справочнике по схеме веб-перехватчика реестра контейнеров Azure.
Необходимые компоненты
- Реестр контейнеров Azure. Создайте реестр контейнеров в своей подписке Azure. Это можно сделать на портале Azure или с помощью Azure CLI. Уровни службы Реестра контейнеров Azure имеют разные квоты для веб-перехватчиков.
- Интерфейс командной строки Docker (Docker CLI). Установите подсистему Docker, чтобы настроить локальный компьютер в качестве узла Docker и получить доступ к командам Docker CLI.
Создание веб-перехватчика на портале Azure
- Войдите на портал Azure.
- Перейдите в реестр контейнеров, в котором нужно создать веб-перехватчик.
- В разделе Службы выберите Веб-перехватчики.
- Щелкните Добавить на панели инструментов веб-перехватчика.
- Заполните форму Создать веб-перехватчик следующими данными:
значение | Описание |
---|---|
Имя веб-перехватчика | Имя, назначаемое веб-перехватчику. Оно может содержать только буквы и цифры (5–50 символов). |
Расположение | Для геореплицированного реестра укажите регион Azure с нужной репликой реестра. |
URI службы | Универсальный код ресурса (URI) для отправки веб-перехватчиком уведомлений POST. |
Custom headers | Заголовки, которые требуется передавать вместе с запросом POST. Они должны быть в формате "ключ: значение". |
"Trigger actions" (Активирующие действия) | Действия, которые активируют веб-перехватчик. Поддерживаются такие действия, как отправка и удаление образа, отправка и удаление чарта Helm, а также помещение образа в карантин. Здесь можно выбрать одно или несколько действий, которые будут активировать этот веб-перехватчик. |
Состояние | Состояние веб-перехватчика после его создания. По умолчанию он включен. |
Область | Область действия веб-перехватчика. Если область не указана, учитываются все события в реестре. Можно указать определенный репозиторий или тег, используя формат "репозиторий:тег" или "репозиторий:*", чтобы учитывать все теги в одном репозитории. |
Пример формы для веб-перехватчика приведен ниже.
Создание веб-перехватчика с помощью 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 и ответ записывается в журнал. Используя функцию проверки связи, мы сможем проверить, правильно ли настроен веб-перехватчик.
- Выберите веб-перехватчик, который требуется проверить.
- В верхней части панели инструментов выберите Проверка связи.
- Просмотрите ответ от конечной точки в столбце СОСТОЯНИЕ HTTP.
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 может генерировать события для Сетки событий.
Краткое руководство. Отправка событий реестра контейнеров в Сетку событий