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

Входит в расширения: Интеграция с провайдерами для частной инфраструктуры

Стадия жизненного цикла модуля: General Availability

Модуль автоматически включается для всех облачных кластеров, развернутых в DVP.

Учётные данные для доступа к API родительского кластера в настройках модуля не хранятся. Их платформа читает из секрета d8-credentials, формат которого описан в разделе «Секрет с учётными данными».

В модуле реализован 1 алерт.

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

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

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

    Пример:

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

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

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

    Пример включения модуля cloud-provider-dvp:

    d8 system module enable cloud-provider-dvp
    
  • С помощью ModuleConfig cloud-provider-dvp.

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

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

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: cloud-provider-dvp
    spec:
      enabled: true
    

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

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

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

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

    Пример:

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

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

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

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

    d8 k edit mc cloud-provider-dvp
    

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

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

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

    d8 k apply -f <FILENAME>
    

    Пример файла манифеста ModuleConfig cloud-provider-dvp:

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

Конверсии

Модуль настраивается с помощью ресурса ModuleConfig, схема которого содержит номер версии. При применении в кластере старой версии схемы ModuleConfig выполняются автоматические преобразования. Чтобы обновить версию схемы ModuleConfig вручную, необходимо последовательно для каждой версии выполнить следующие действия :

  • Обновление из версии 1 в 2:
    • Перенесите provider.namespace в provider.parameters.namespace.
    • Перенесите zones в nodes.parameters.zones.
    • Удалите provider.kubeconfigDataBase64. Kubeconfig хранится в секрете типа cloud-provider.deckhouse.io/credentials.
    • Задайте nodes.parameters.layout (по умолчанию — Standard).
    • Замените плейсхолдер в nodes.parameters.sshPublicKey на реальный публичный SSH-ключ.

Параметры

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

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

      Настройки подсистемы Cloud Controller Manager (CCM).

      CCM обеспечивает интеграцию кластера с облачным провайдером — например, управляет балансировщиками нагрузки. CCM можно включать и отключать независимо от других подсистем. Например, оставьте CCM включённым, если в кластере нужно управлять только балансировщиками нагрузки.

      • settings.ccm.disabled
        булевый

        Отключает Cloud Controller Manager.

        Установите в true, если CCM не требуется. Оставьте включённым (false), если нужно управление облачными балансировщиками нагрузки.

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

    • settings.nodes
      объект

      Обязательный параметр

      Настройки подсистемы управления узлами.

      Управляет узлами в кластере.

      • settings.nodes.disabled
        булевый

        Отключает подсистему управления узлами.

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

      • settings.nodes.parameters
        объект

        Обязательный параметр

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

        • settings.nodes.parameters.ipAddresses
          объект

          Словарь статических IP-адресов для групп узлов типа CloudPermanent.

          Ключ словаря — имя NodeGroup, значение — список IP-адресов, назначаемых узлам этой группы. Количество адресов должно совпадать с количеством реплик — каждый IP-адрес назначается отдельной реплике.

          Пример:

          ipAddresses:
            master:
              - 10.66.30.100
              - 10.66.30.101
              - 10.66.30.102
            worker:
              - 10.66.30.200
              - 10.66.30.201
          

          Эти адреса должны принадлежать диапазону адресов, заданному в конфигурации модуля виртуализации в параметре virtualMachineCIDRs.

        • settings.nodes.parameters.layout
          строка

          Обязательный параметр

          Допустимые значения: Standard

        • settings.nodes.parameters.region
          строка

          Название региона.

          Чтобы использовать эту настройку, на узлах DVP должен быть установлен лейбл topology.kubernetes.io/region. Подробнее о топологических лейблах

          Как установить требуемый лейбл для узла DVP, можно прочитать в документации по NodeGroup.

        • settings.nodes.parameters.sshPublicKey
          строка

          Обязательный параметр

          Публичный ключ для доступа на узлы.

        • settings.nodes.parameters.zones
          массив строк

          Набор зон, в которых могут быть созданы узлы.

          Чтобы использовать эту настройку, на узлах DVP должна быть установлен лейбл topology.kubernetes.io/zone. Подробнее о топологических лейблах.

          Как установить требуемый лейбл для узла DVP, можно прочитать в документации по NodeGroup.

    • settings.provider
      объект

      Обязательный параметр

      Настройки подключения к родительской платформе Deckhouse Virtualization Platform (DVP).

      • settings.provider.parameters
        объект

        Обязательный параметр

        Содержит настройки для подключения к API Deckhouse Platform.

        • settings.provider.parameters.namespace
          строка

          Обязательный параметр

          Неймспейс, в котором будут созданы ресурсы кластера DP.

          Если не указано явно, будет использоваться неймспейс по умолчанию для kubeconfig.

        • settings.provider.parameters.networkPolicy
          строка

          Правила управления сетевым трафиком к нагрузкам и от нагрузок, запущенных в рамках ресурса Project.

          • Isolated — применяется ограничивающая allowlist-политика: разрешён только сетевой трафик, необходимый для работы платформенных компонентов; весь остальной трафик запрещён.
          • None — кластер не заказывает сетевые политики. Ограничения, заданные на уровне Project, продолжают действовать.

          Если выбрано значение Isolated, cloud-controller-manager создаёт для каждого балансировщика нагрузки сетевую политику, чтобы трафик балансировщика доходил до узлов кластера.

          Допустимые значения: Isolated, None

    • settings.storage
      объект

      Настройки подсистемы хранения данных.

      Управляет возможностью заказа дисков в кластере.

      • settings.storage.disabled
        булевый

        Отключает подсистему хранения данных.

        При значении true заказ дисков в кластере недоступен.

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

      • settings.storage.parameters
        объект

        Обязательный параметр

        Параметры подсистемы хранения данных.

        • settings.storage.parameters.excludedStorageClasses
          массив строк

          Список имён StorageClass (или регулярных выражений для имён), которые не нужно создавать в кластере.