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

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

Внимание! При изменении настроек модуля пересоздания существующих объектов Machines в кластере НЕ происходит (новые объекты Machine будут создаваться с новыми параметрами). Пересоздание происходит только при изменении параметров NodeGroup и YandexInstanceClass. Подробнее в документации модуля node-manager.

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

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

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

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

    Пример:

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

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

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

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

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

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

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

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

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

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

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

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

    Пример:

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

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

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

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

    d8 k edit mc cloud-provider-yandex
    

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

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

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

    d8 k apply -f <FILENAME>
    

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

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

Storage

Модуль автоматически создает StorageClass’ы, покрывающие все варианты дисков в Yandex Cloud:

Тип Имя StorageClass Комментарии
network-hdd network-hdd  
network-ssd network-ssd  
network-ssd-nonreplicated network-ssd-nonreplicated  
network-ssd-io-m3 network-ssd-io-m3 Размер дисков должен быть кратен 93 ГБ

Вы можете отфильтровать ненужные StorageClass’ы с помощью параметра exclude.

LoadBalancer

Модуль подписывается на объекты Service с типом LoadBalancer и создает соответствующие NetworkLoadBalancer и TargetGroup в Yandex Cloud.

Больше информации в документации Kubernetes Cloud Controller Manager for Yandex Cloud.

Параметры

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

  • settings
    объект
    • settings.additionalExternalNetworkIDs
      массив строк

      Список Network ID, которые будут считаться ExternalIP при перечислении адресов у Node.

      По умолчанию: []

    • settings.storageClass
      объект
      • settings.storageClass.default
        Параметр устарел
        строка

        Имя StorageClass’а, который будет использоваться по умолчанию в кластере.

        Если значение не указано, фактический StorageClass по умолчанию будет определен следующим образом:

        • присутствующий StorageClass в кластере, имеющий default-аннотацию;
        • первый (по алфавиту) StorageClass из тех, что создаются модулем.

        Параметр устарел. Вместо этого параметра используйте глобальный параметр global.defaultClusterStorageClass.

        Пример:

        default: network-hdd
        
      • settings.storageClass.exclude
        массив строк

        Полные имена (или regex-выражения имен) StorageClass, которые не будут созданы в кластере.

        Пример:

        exclude:
        - network-ssd-.*
        - network-hdd