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

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

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

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

  • Управление ресурсами Azure через cloud-controller-manager:
    • создаёт сетевые маршруты для сети PodNetwork на стороне Azure;
    • создаёт балансировщики нагрузки для Service с типом LoadBalancer;
    • актуализирует метаданные узлов кластера и удаляет из Kubernetes узлы, которых больше нет в Azure.
  • Заказ дисков через CSI-драйвер Azure Disk (disk.csi.azure.com) и создание StorageClass для типов дисков Azure, чтобы из кластера можно было заказывать PersistentVolume.
  • Заказ базовой инфраструктуры и CloudPermanent-узлов с помощью Terraform/OpenTofu-провайдера terraform-provider-azurerm.
  • Заказ CloudEphemeral-узлов через Machine Controller Manager (MCM). Параметры виртуальных машин задаются в ресурсе AzureInstanceClass.
  • Регистрация в модуле node-manager, чтобы AzureInstanceClass можно было указывать при описании NodeGroup.
  • Автоматическое включение CNI для новых кластеров. По умолчанию используется cni-cilium.

Для корректной работы утилит, таких как ntpdate и chrony, убедитесь, что у балансировщика нагрузки есть правила для UDP-трафика. Если исходящий UDP блокируется, добавьте правило к существующему балансировщику или создайте Service с типом LoadBalancer и UDP-портом.