Настройка политики хранения для манифестов без тегов
Реестр контейнеров Azure позволяет задать политику хранения для сохраненных манифестов образов, у которых нет связанных тегов (манифесты без тегов). Если политика хранения включена, манифесты без тегов в реестре автоматически удаляются по истечении заданного количества дней. Эта функция предотвращает заполнение реестра ненужными артефактами и помогает сэкономить на хранении.
Для выполнения примеров команд в этой статье можно использовать Azure Cloud Shell или локальный экземпляр Azure CLI. Если вы хотите использовать его локально, требуется версия 2.0.74 или более поздняя. Чтобы узнать версию, выполните команду az --version
. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
Политика хранения для манифестов без тегов в настоящее время является предварительной версией функции в реестрах контейнеров класса Premium. Сведения об уровнях служб реестра см. в статье Уровни служб реестра контейнеров Azure.
Предупреждение
Настраивайте политику хранения с осторожностью — удаленные данные образа НЕ ПОДЛЕЖАТ ВОССТАНОВЛЕНИЮ. Если у вас есть системы, которые получают образы с помощью дайджеста манифеста (а не по имени образа), не настраивайте политику хранения для манифестов без тегов. Удаление образов без тегов не позволит этим системам получать образы из реестра. Вместо получения с помощью манифеста попробуйте внедрить схему уникальных тегов, которая рекомендуется в качестве лучшей методики.
Сведения о политике хранения
Реестр контейнеров Azure выполняет подсчет ссылок для манифестов в реестре. Если манифест не помечен тегом, он проверяет политику хранения. Если политика хранения включена, операция удаления манифеста помещается в очередь с определенной датой в соответствии с числом дней, установленным в политике.
Отдельное задание управления очередями постоянно обрабатывает сообщения, выполняя масштабирование по мере необходимости. В качестве примера предположим, что вы создали два манифеста без тегов с интервалом в 1 час в реестре с политикой хранения 30 дней. Два сообщения помещаются в очередь. Затем, через 30 дней, с интервалом примерно в 1 час сообщения извлекаются из очереди и обрабатываются, если политика все еще действует.
Если атрибут delete-enabled
манифеста без тегов имеет значение false
, манифест блокируется и не удаляется политикой.
Внимание
Политика хранения применяется только к манифестам без тегов с метками времени после ее включения. Манифесты без тегов в реестре с более ранними метками времени не подчиняются данной политике. Другие варианты удаления данных образа см. в примерах в разделе Удаление образов контейнеров в службе "Реестр контейнеров Azure".
Настройка политики хранения — CLI
В следующем примере показано, как использовать Azure CLI, чтобы задать политику хранения для манифестов без тегов в реестре.
Включение политики хранения
По умолчанию в реестре контейнеров не задана политика хранения. Чтобы задать или обновить политику хранения, выполните команду az acr config retention update в Azure CLI. Можно указать период хранения манифестов без тегов от 0 до 365 дней. Если не указать число дней, команда задает значение по умолчанию 7 дней. По истечении срока хранения все манифесты без тегов в реестре автоматически удаляются.
В следующем примере задается политика хранения манифестов без тегов течение 30 дней в реестре myregistry:
az acr config retention update --registry myregistry --status enabled --days 30 --type UntaggedManifests
В следующем примере задается политика удаления манифеста в реестре после удаления тегов. Создайте эту политику, задав период хранения 0 дней.
az acr config retention update \
--registry myregistry --status enabled \
--days 0 --type UntaggedManifests
Проверка политики хранения
При включении предыдущей политики с периодом хранения 0 дней можно быстро проверить удаление непомеченных манифестов:
- Отправьте тестовый образ
hello-world:latest
в реестр или замените другой тестовый образ по выбору. - Удалить тег образа
hello-world:latest
, например с помощью команды az acr repository untag. Манифест без тегов остается в реестре.az acr repository untag \ --name myregistry --image hello-world:latest
- Через несколько секунд манифест без тегов удаляется. Чтобы проверить удаление, запросите список манифестов в репозитории (например, с помощью команды az acr manifest list-metadata). Если тестовый образ был единственным в репозитории, сам репозиторий удаляется.
Управление политикой хранения
Чтобы просмотреть политику хранения, заданную в реестре, выполните команду az acr config retention show:
az acr config retention show --registry myregistry
Чтобы отключить политику хранения в реестре, выполните команду az acr config retention update и задайте --status disabled
:
az acr config retention update \
--registry myregistry --status disabled \
--type UntaggedManifests
Настройка политики хранения — портал
Можно также задать политику хранения реестра на портале Azure.
Включение политики хранения
- Перейдите в реестр контейнеров Azure. В разделе Политики выберите Хранение (предварительная версия).
- Для параметра Состояние задайте значение Включено.
- Выберите период хранения манифестов без тегов от 0 до 365 дней. Выберите Сохранить.
Отключение политики хранения
- Перейдите в реестр контейнеров Azure. В разделе Политики выберите Хранение (предварительная версия).
- Для параметра Состояние задайте значение Отключено. Выберите Сохранить.
Следующие шаги
Узнайте больше о вариантах удаления образов и репозиториев в реестре контейнеров Azure
Узнайте, как автоматически очистить выбранные образы и манифесты из реестра.
Узнайте больше о вариантах блокировки образов и манифестов в реестре