Deckhouse Platform интегрируется с инфраструктурой встроенной виртуализации и использует ресурсы DVPInstanceClass для описания характеристик виртуальных машин, создаваемых в составе кластера.

Основные возможности:

  • Управление ресурсами виртуализации через модуль cloud-controller-manager;
  • Заказ дисков с использованием компонента CSI storage;
  • Интеграция с модулем node-manager для поддержки DVPInstanceClass при описании NodeGroup.

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

Балансировщики нагрузки

Встроенная виртуализация поддерживает объекты Service с типом LoadBalancer. Для каждого такого объекта cloud-controller-manager создаёт Service с типом LoadBalancer в родительском кластере и направляет трафик на узлы дочернего. Объект создаётся в неймспейсе, который задан параметром namespace, рядом с виртуальными машинами кластера.

Внешний адрес назначает родительский кластер, поэтому в нём должен работать контроллер балансировщиков, например модуль metallb. Контроллер обслуживает только те объекты Service, для которых определён класс балансировщика.

Чтобы задать класс по умолчанию, создайте в родительском кластере ресурс MetalLoadBalancerClass с параметром isDefault в значении true. Такой класс обслуживает объекты Service, в которых класс не указан, поэтому в дочернем кластере класс можно не указывать.

Чтобы выбрать другой класс, укажите его в параметре spec.loadBalancerClass объекта Service дочернего кластера. Платформа переносит значение в родительский кластер вместе с параметром externalIPs и устаревшим параметром loadBalancerIP.

Параметр spec.loadBalancerClass неизменяем. Задайте класс при создании объекта Service, иначе объект придётся пересоздать.

Без класса балансировщика объект Service остаётся в состоянии Pending, при этом cloud-controller-manager не выводит ошибок. Проверьте состояние объекта в родительском кластере:

d8 k -n <NAMESPACE> get svc

Замените <NAMESPACE> на неймспейс, заданный параметром namespace.

Дополнительные ресурсы