Доступно в редакциях:  EE

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

Модуль cloud-provider-openstack обеспечивает интеграцию Deckhouse Kubernetes Platform с облаками на базе OpenStack. Он предоставляет возможность модулю node-manager использовать ресурсы OpenStack при заказе узлов для NodeGroup.

Функции модуля cloud-provider-openstack:

  • Управление ресурсами OpenStack через cloud-controller-manager:
    • актуализирует метаданные серверов OpenStack и узлов Kubernetes и удаляет из Kubernetes узлы, которых больше нет в OpenStack;
    • создаёт балансировщики нагрузки (Octavia) для Service с типом LoadBalancer.
  • Заказ блочных дисков через CSI-драйвер Cinder (cinder.csi.openstack.org). Manila (filesystem) не поддерживается. CSI-драйвер Cinder поддерживает повторную аутентификацию в OpenStack с обновлением сервисного каталога, что повышает устойчивость длительно работающих подов с томами.
  • Заказ базовой инфраструктуры и CloudPermanent-узлов с помощью Terraform/OpenTofu-провайдера terraform-provider-openstack.
  • Заказ CloudEphemeral-узлов через Machine Controller Manager (MCM) или Cluster API (CAPI). Параметры виртуальных машин задаются в ресурсе OpenStackInstanceClass.
  • Регистрация в модуле node-manager, чтобы OpenStackInstanceClass можно было указывать при описании NodeGroup.
  • Автоматическое включение CNI для новых кластеров. По умолчанию используется cni-cilium. Режим сети зависит от параметра podNetworkMode.

Модуль находится в процессе миграции управления CloudEphemeral-узлами с Machine Controller Manager (MCM) на Cluster API (CAPI). Существующие NodeGroup продолжают использовать MCM, а новые по умолчанию создаются с использованием CAPI. Порядок миграции существующих групп — в разделе «Как мигрировать группы узлов на Cluster API (CAPI)».