Доступно в редакциях: CE, BE, SE, SE+, EE
Стадия жизненного цикла модуля: Preview
Описание
Модуль отвечает за управление конфигурацией registry компонентов Deckhouse и предоставляет внутреннее хранилище образов контейнеров (container registry, registry).
Внутренний registry оптимизирует загрузку и хранение образов, а также повышает высокую доступность и отказоустойчивость Deckhouse Kubernetes Platform.
Модуль работает в следующих режимах:
Direct— использование внутреннего registry. Обращение к внутреннему registry выполняется по фиксированному адресуregistry.d8-system.svc:5001/system/deckhouse. Фиксированный адрес, при изменении параметров registry, позволяет избежать повторного скачивания образов и перезапуска компонентов. Переключение между режимами и registry выполняется через ModuleConfigdeckhouse. Переключение выполняется автоматически (ознакомьтесь с примерами использования).Unmanaged— работа без использования внутреннего registry. Обращение внутри кластера выполняется напрямую к внешнему registry. Существует 2 вида режимаUnmanaged:- Конфигурируемый - режим, управляемый с помощью модуля
registry. Переключение между режимами и registry выполняется через ModuleConfigdeckhouse. Переключение выполняется автоматически (ознакомьтесь с примерами использования). - Неконфигурируемый (deprecated) - режим используемый по умолчанию. Параметры конфигурации задаются при установке кластера, или при изменении в развёрнутом кластере с помощью утилиты
helper change registry(deprecated).
- Конфигурируемый - режим, управляемый с помощью модуля
Ограничения и особенности использования модуля
Модуль registry имеет ряд ограничений и особенностей, касающихся установки, условий работы и переключения режимов.
Ограничения при установке кластера
Bootstrap кластера DKP поддерживается только в неконфигурируемом Unmanaged режиме. Настройки registry во время bootstrap задаются через initConfiguration.
Конфигурация registry через moduleConfig deckhouse во время bootstrap кластера DKP не поддерживается.
Ограничения по условиям работы
Модуль работает при соблюдении следующих условий:
- Если на узлах кластера используется CRI containerd или containerd v2. Для настройки CRI ознакомьтесь с конфигурацией
ClusterConfiguration. - Кластер полностью управляется DKP. В Managed Kubernetes кластерах он работать не будет.
Ограничения по переключению режимов
Ограничения по переключению режимов следующие:
- При первом переключении необходимо выполнить миграцию пользовательских конфигураций реестра. Подробнее — в разделе «Модуль registry: FAQ».
- Переключение в неконфигурируемый
Unmanagedрежим доступно только изUnmanagedрежима. Подробнее — в разделе «Модуль registry: FAQ».
Архитектура режима Direct
В режиме Direct запросы к registry обрабатываются напрямую, без промежуточного кэширования.
Перенаправление запросов к registry от CRI осуществляется при помощи его настроек, которые указываются в конфигурации containerd.
В случае таких компонентов, как operator-trivy, image-availability-exporter, deckhouse-controller и ряда других, обращающихся к registry напрямую, запросы будут идти через in-cluster proxy, расположенный на master-узлах.
