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

Для настройки параметров подключения к container registry и управления режимом работы с container registry используйте секцию registry конфигурации модуля deckhouse.

Параметры самого модуля registry указываются в ModuleConfig registry.

Модуль включен по умолчанию в наборе модулей Default. Модуль выключен по умолчанию в наборах модулей: Managed, Minimal.

Как явно включить или отключить модуль...

Явно включить или выключить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse. В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль registry, включите (или выключите) переключатель «Модуль включен». Сохраните изменения.

    Пример:

    Интерфейс включения и выключения модуля

  • С помощью Deckhouse CLI (d8).

    Используйте команду d8 system module enable для включения модуля, или d8 system module disable для выключения модуля (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Пример включения модуля registry:

    d8 system module enable registry
    
  • С помощью ModuleConfig registry.

    Установите spec.enabled в true или false в ModuleConfig registry (создайте его, при необходимости).

    Пример манифеста для включения модуля registry:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: registry
    spec:
      enabled: true
    

Как настроить модуль...

Настроить модуль можно одним из следующих способов:

  • С помощью веб-интерфейса Deckhouse.

    В разделе «Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль registry, включите переключатель «Дополнительные настройки». Заполните необходимые поля формы на вкладке «Конфигурация», или укажите настройки модуля в формате YAML на вкладке «YAML», не включая секцию settings. Сохраните изменения.

    Пример:

    Интерфейс настройки модуля

    Вы также можете отредактировать объект ModuleConfig registry на вкладке «YAML» в окне настроек модуля («Система» → «Управление системой» → «Deckhouse» → «Модули», откройте модуль registry), указав версию схемы в параметре spec.version и необходимые параметры модуля в секции spec.settings.

  • С помощью Deckhouse CLI (d8) (требуется Deckhouse CLI (d8), настроенный на работу с кластером).

    Отредактируйте существующий ModuleConfig registry (подробнее о настройке Deckhouse читайте в документации), выполнив следующую команду:

    d8 k edit mc registry
    

    Внесите необходимые изменения в секцию spec.settings. При необходимости укажите версию схемы в параметре spec.version. Сохраните изменения.

    Вы также можете создать файл манифеста ModuleConfig registry, используя пример ниже. Заполните секцию spec.settings необходимыми параметрами модуля. При необходимости укажите версию схемы в параметре spec.version.

    Примените манифест с помощью следующей команды (укажите имя файла манифеста):

    d8 k apply -f <FILENAME>
    

    Пример файла манифеста ModuleConfig registry:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: registry
    spec:
      version: 1
      enabled: true
      settings: # Параметры модуля из раздела "Параметры" ниже.
    

Параметры

Версия схемы: 1

  • settings
    объект
    • settings.https
      объект

      Тип используемого сертификата.

      При использовании этого параметра полностью переопределяются глобальные настройки global.modules.https.

      Примеры:

      https:
        mode: Disabled
      
      https:
        mode: OnlyInURI
      
      https:
        mode: CustomCertificate
        customCertificate:
          secretName: foobar
      
      https:
        mode: CertManager
        certManager:
          clusterIssuerName: letsencrypt
      
      • settings.https.certManager
        объект

        Настройки для certmanager.

        • settings.https.certManager.clusterIssuerName
          строка

          Тип ClusterIssuer’а, используемого для заказа SSL-сертификата (в данный момент доступны letsencrypt, letsencrypt-staging, selfsigned, но возможно определить свои).

          По умолчанию: letsencrypt

          Пример:

          clusterIssuerName: letsencrypt
          
      • settings.https.customCertificate
        объект

        Настройки для использования пользовательского сертификата.

        • settings.https.customCertificate.secretName
          строка

          Имя секрета в пространстве имен d8-system, который будет использовать ingress registry.

          Секрет должен быть в формате kubernetes.io/tls.

      • settings.https.mode
        строка

        Режим работы HTTPS:

        • CertManager — доступ по HTTPS с заказом сертификата согласно ClusterIssuer, заданному в параметре certManager.clusterIssuerName.
        • CustomCertificate — доступ по HTTPS с использованием сертификата из пространства имен d8-system.
        • Disabled — доступ только по HTTP.
        • OnlyInURI — доступ по HTTP, подразумевая, что перед ingress-контроллером находится внешний HTTPS-балансировщик, который терминирует HTTPS-трафик. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.

        По умолчанию: CertManager

        Допустимые значения: Disabled, CertManager, CustomCertificate, OnlyInURI

    • settings.ingressClass
      строка

      Класс Ingress-контроллера, который используется для registry.

      Опциональный параметр, по умолчанию используется глобальное значение modules.ingressClass.

      Шаблон: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$

    • settings.whitelistSourceRanges
      массив строк

      Список адресов в формате CIDR, которым разрешено подключение к registry. Если не указано, то разрешено подключение с любых адресов.

      Пример:

      whitelistSourceRanges:
      - 10.0.0.0/10
      - 192.168.0.0/16
      
      • Элемент массива
        строка

        Шаблон: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))?$