Доступно в редакциях:  CE, BE, SE, SE+, EE

Описание

Модуль отвечает за управление конфигурацией registry компонентов Deckhouse и предоставляет внутреннее хранилище образов контейнеров (container registry, registry).

Внутренний registry оптимизирует загрузку и хранение образов, а также повышает высокую доступность и отказоустойчивость Deckhouse Kubernetes Platform.

Модуль работает в следующих режимах:

  • Direct — использование внутреннего registry. Обращение к внутреннему registry выполняется по фиксированному адресу registry.d8-system.svc:5001/system/deckhouse. Фиксированный адрес, при изменении параметров registry, позволяет избежать повторного скачивания образов и перезапуска компонентов. Переключение между режимами и registry выполняется через ModuleConfig deckhouse. Переключение выполняется автоматически (ознакомьтесь с примерами использования).
  • Unmanaged — работа без использования внутреннего registry. Обращение внутри кластера выполняется напрямую к внешнему registry. Существует 2 вида режима Unmanaged:
    • Конфигурируемый - режим, управляемый с помощью модуля registry. Переключение между режимами и registry выполняется через ModuleConfig deckhouse. Переключение выполняется автоматически (ознакомьтесь с примерами использования).
    • Неконфигурируемый (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-узлах.

direct