Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Container Registry
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Аутентифицироваться в Container Registry
    • Управление Docker-образом
      • Получить информацию об имеющихся Docker-образах
      • Создать Docker-образ
      • Загрузить Docker-образ в реестр
      • Скачать Docker-образ из реестра
      • Удалить Docker-образ из реестра
    • Управление Helm-чартом
      • Получить информацию об имеющихся Helm-чартах
      • Загрузить Helm-чарт в реестр
      • Скачать Helm-чарт из реестра
      • Удалить Helm-чарт из реестра
    • Управление реестром
      • Получить информацию об имеющихся реестрах
      • Создать реестр
      • Настроить доступ к реестру
      • Изменить реестр
      • Удалить реестр
    • Управление репозиторием
      • Получить информацию об имеющихся репозиториях
      • Создать репозиторий
    • Управление политиками автоматического удаления Docker-образов
      • Получить информацию об имеющихся политиках удаления
      • Создать политику удаления
      • Изменить политику удаления
      • Сделать тестовый запуск политики удаления
      • Удалить политику удаления
    • Сканирование Docker-образа на наличие уязвимостей
    • Работа с ролями
      • Назначить роль
      • Просмотреть назначенные роли
      • Отозвать роль
  • Yandex Container Solution
  • Практические руководства
    • Все руководства
    • Запуск Docker-образа на виртуальной машине
    • Создание триггера с помощью Cloud Functions
    • Настройка автоматического сканирования Docker-образа
    • Подпись и проверка Docker-образов в Managed Service for Kubernetes
    • Сканирование уязвимостей при непрерывном развертывании приложений Managed Service for Kubernetes с помощью GitLab
  • Концепции
    • Обзор
    • Docker-образ
    • Том Docker
    • Реестр
    • Репозиторий
    • Политика автоматического удаления Docker-образов
    • Сканер уязвимостей
    • Триггер Cloud Functions
    • Резервное копирование
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ImageService
      • LifecyclePolicyService
      • RegistryService
      • RepositoryService
      • ScannerService
      • OperationService
    • REST (англ.)
      • Overview
      • Image
        • Overview
        • delete
        • get
        • list
      • LifecyclePolicy
        • Overview
        • create
        • delete
        • dryRun
        • get
        • getDryRunResult
        • list
        • listDryRunResultAffectedImages
        • listDryRunResults
        • update
      • Registry
        • Overview
        • create
        • delete
        • get
        • list
        • listAccessBindings
        • listIpPermission
        • setAccessBindings
        • setIpPermission
        • update
        • updateAccessBindings
        • updateIpPermission
      • Repository
        • Overview
        • delete
        • get
        • getByName
        • list
        • listAccessBindings
        • setAccessBindings
        • updateAccessBindings
        • upsert
      • Scanner
        • Overview
        • get
        • getLast
        • list
        • listVulnerabilities
        • scan
  • Решение проблем
  • Вопросы и ответы
  1. Пошаговые инструкции
  2. Управление политиками автоматического удаления Docker-образов
  3. Изменить политику удаления

Изменить политику удаления

Статья создана
Yandex Cloud
,
улучшена
amatol
  • Примеры
    • Изменить правила политики удаления
    • Изменить статус политики удаления
    • Изменить имя политики удаления
    • Изменить описание политики удаления

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

Для обращения к политике используйте ее идентификатор. Как узнать идентификатор политики, читайте в разделе Получить информацию о политиках удаления.

CLI
API

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

  1. Посмотрите описание команды CLI для обновления параметров политики:

    yc container repository lifecycle-policy update --help
    
  2. Измените параметры политики, например, переименуйте политику:

    yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --new-name new-policy
    

Чтобы изменить политику удаления, воспользуйтесь методом Update для ресурса LifecyclePolicyService. В свойстве lifecycle_policy_id укажите идентификатор политики.

Получить список политик удаления можно с помощью метода List для ресурса LifecyclePolicyService.

Важно

Задать политику удаления можно только для репозитория. Политика применяется к Docker-образам, имена которых в точности совпадают с именем репозитория. Совпадение по префиксу не поддерживается. Нельзя задать политику для группы репозиториев, реестра, каталога или облака.

Примеры

Изменить правила политики удаления

CLI
  1. Подготовьте новые правила политики и сохраните их в файл new-rules.json.

    Пример содержимого файла с правилами, где:

    • description — описание правила политики.
    • tag_regexp — тег Docker-образа для фильтрации. Регулярное выражение test.* для tag_regexp позволяет получить все образы с тегами, начинающимися на test.
    • untagged — флаг для применения правила к Docker-образам без тегов.
    • expire_period — время, через которое Docker-образ может попадать под политику удаления. Формат параметра — число и единица измерения s, m, h или d (секунды, минуты, часы или дни). expire_period должен быть кратен 24 часам.
    • retained_top — количество Docker-образов, которые не будут удалены, даже если подходят по правилу.
    [
      {
        "description": "delete prod Docker images older than 60 days but retain 20 last ones",
        "tag_regexp": "prod",
        "expire_period": "60d",
        "retained_top": 20
      },
      {
        "description": "delete all test Docker images except 10 last ones",
        "tag_regexp": "test.*",
        "retained_top": 10
      },
      {
        "description": "delete all untagged Docker images older than 48 hours",
        "untagged": true,
        "expire_period": "48h"
      }
    ]
    
  2. Измените правила политики, выполнив команду со следующим параметром:

    • new-rules — путь к файлу с новым описанием политик.

    Внимание

    Обновление политики полностью перезаписывает все текущие правила — они будут удалены.

    yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --new-rules ./new-rules.json
    

    Результат:

    WARN: All current lifecycle rules will be overwritten. Are you sure?[y/N] y
    id: crp6lg1868p3i0emkv1b
    name: test-policy
    ...
      expire_period: 172800s
      tag_regexp: test.*
      untagged: true
    

Изменить статус политики удаления

Активируйте политику удаления

CLI

Сделайте выключенную политику активной, выполнив команду с флагом --activate:

yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --activate

Результат:

id: crp6lg1868p3i0emkv1b
name: test-policy
repository_id: crp3cpm16edqql0t30s2
...
  expire_period: 172800s
  tag_regexp: test.*
  untagged: true

Выключите политику удаления

CLI

Выключите активную политику, выполнив команду с флагом --disable:

yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --disable

Результат:

id: crp6lg1868p3i0emkv1b
name: test-policy
repository_id: crp3cpm16edqql0t30s2
...
  expire_period: 172800s
  tag_regexp: test.*
  untagged: true

Изменить имя политики удаления

CLI

Измените имя политики, выполнив команду:

yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --new-name new-policy

Где new-name — новое имя политики:

  • Длина — от 3 до 63 символов.
  • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
  • Первый символ — буква. Последний символ — не дефис.

Результат:

id: crp6lg1868p3i0emkv1b
name: new-policy
repository_id: crp3cpm16edqql0t30s2
...
  expire_period: 172800s
  tag_regexp: test.*
  untagged: true

Изменить описание политики удаления

CLI

Измените описание политики, выполнив команду:

yc container repository lifecycle-policy update crp6lg1868p3i0emkv1b --new-description "new description"

Где new-description — новое описание политики.

Результат:

id: crp6lg1868p3i0emkv1b
name: test-policy
repository_id: crp3cpm16edqql0t30s2
...
  expire_period: 172800s
  tag_regexp: test.*
  untagged: true

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Примеры
  • Изменить правила политики удаления
  • Изменить статус политики удаления
  • Изменить имя политики удаления
  • Изменить описание политики удаления