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

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

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.

Чтобы настроить модуль, используйте custom resource ModuleConfig с именем cloud-provider-yandex (подробнее о настройке Deckhouse…).

Пример ресурса ModuleConfig/cloud-provider-yandex для настройки модуля:

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

Параметры

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

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

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

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

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

        УСТАРЕЛ. Вместо этого параметра используйте global.defaultClusterStorageClass.

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

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

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

        Пример:

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

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

        Пример:

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