Доступно в редакциях: EE
Стадия жизненного цикла модуля: Preview
У модуля есть требования для установки
Модуль payload-registry реализует пользовательское хранилище образов контейнеров, соответствующее стандартам OCI, внутри Deckhouse Kubernetes Platform.
Пользователи и доступы
Модуль позволяет авторизоваться в хранилище образов с использованием токенов Kubernetes, а также настроить статическую авторизацию. Подробнее — в разделе «Аутентификация и авторизация».
Расширение Kubernetes API
Модуль расширяет Kubernetes API, предоставляя возможность управлять тегами в репозиториях хранилища образов с использованием утилиты Deckhouse CLI (d8), kubectl или иного клиента. Подробнее — в разделе «Расширение Kubernetes API».
Использование образов в кластере
Модуль позволяет использовать образы, хранящиеся в пользовательском хранилище образов, для запуска подов в кластере. Подробнее — в разделе «Использование образов в кластере».
Сборка мусора (GC)
Модуль поддерживает настройку периодической сборки мусора для очистки неиспользуемых слоев и манифестов образов без тегов. GC процедура выполняется в виде Kubernetes-задачи и включает следующие шаги:
- Переключение хранилища образов в режим «только для чтения».
- Запуск GC-задачи для очистки хранилища образов.
- Возвращение хранилища образов в режим «чтение и запись».
Настройки GC задаются через ModuleConfig в параметре settings.gc. Подробнее — в разделах «Примеры использования» и «FAQ».
Ограничения и особенности
Модуль имеет следующие ограничения и особенности использования:
- Модуль предназначен для хранения пользовательских образов.
- Доступ к хранилищу образов осуществляется через Ingress по адресу
payload-registry.${PUBLIC_DOMAIN}, гдеPUBLIC_DOMAIN— значение из конфигурацииpublicDomainTemplateв ModuleConfigglobal. - Репозитории в хранилище образов могут быть созданы (посредством тега
push) только с префиксом неймспейса, существующего в кластере DKP. При удалении соответствующего неймспейса содержимое репозиториев очищается. Формат адресов для образов:payload-registry.${PUBLIC_DOMAIN}/<namespace>/<image>:<tag>;payload-registry.${PUBLIC_DOMAIN}/<namespace>/(<folder1>/..<folderN>/)<image>:<tag>.
Архитектура
