Внимание! При изменении настроек модуля пересоздания существующих Machines НЕ происходит (новые Machines будут создаваться с новыми параметрами). Пересоздание происходит только при изменении параметров
NodeGroup
иYandexInstanceClass
. Подробнее в документации модуля node-manager.
Чтобы настроить модуль используйте 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
- additionalExternalNetworkIDsмассив строк
Список Network ID, которые будут считаться
ExternalIP
при перечислении адресов у Node.По умолчанию:
[]
- storageClassобъект
- storageClass.defaultстрока
Имя StorageClass, который будет использоваться в кластере по умолчанию.
Если параметр не задан, фактическим StorageClass’ом по умолчанию будет один из следующих:
- Присутствующий в кластере произвольный StorageClass с default аннотацией.
- Лексикографически первый StorageClass из создаваемых модулем.
Пример:
default: network-hdd
- storageClass.excludeмассив строк
Полные имена (или regex выражения имён) StorageClass, которые не будут созданы в кластере.
Пример:
exclude: - network-ssd-.* - network-hdd
- storageClass.defaultстрока
Storage
Модуль автоматически создаёт StorageClass’ы, покрывающие все варианты дисков в Yandex:
Тип | Имя 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.
Важная информация об увеличении размера PVC
Из-за особенностей работы volume-resizer, CSI и Yandex Cloud API, после увеличения размера PVC необходимо:
- На узле, где находится Pod, выполнить команду
kubectl cordon <имя_узла>
. - Удалить Pod.
- Убедиться, что увеличение размера произошло успешно. В объекте PVC не будет condition
Resizing
.Состояние
FileSystemResizePending
не является проблемой. - На узле, где находится Pod, выполнить команду
kubectl uncordon <имя_узла>
.
LoadBalancer
Модуль подписывается на объекты Service с типом LoadBalancer
и создаёт соответствующие NetworkLoadBalancer
и TargetGroup
в Yandex Cloud.
Больше информации в документации Kubernetes Cloud Controller Manager for Yandex Cloud.