Как устроена работа с провайдерами в платформе
От Cluster API к настройке экземпляра провайдера: пулы IP, шаблоны ВМ, ссылки на сервисы.
Под провайдером в платформе “Штурвал” понимается операторы Cluster API, связывающий провайдер инфраструктуры с платформой. Для интеграции используются файлы конфигурации - экземпляры провайдера. Для каждого типа провайдера инфраструктуры может быть создано множество экземпляров настройки.
Здесь описана общая модель: как платформа связывает инфраструктуру (vCenter, oVirt, облако и т.д.), Cluster API и объекты в интерфейсе (экземпляр провайдера, пул IP, шаблон ВМ). Ниже — [порядок подготовки провайдеров](#инфраструктура-сервис-Cluster API-и-пул-ip) к первому кластеру (пул → экземпляр → шаблон ВМ), если применимо к вашей среде.
Кратко о Cluster API
Платформа «Штурвал» использует Cluster API (CAPI) для декларативного управления жизненным циклом клиентских кластеров и узлов: в кластере управления создаются и согласуются ресурсы Cluster, Machine, MachineDeployment и связанные объекты. Обзор ресурсов и иерархии — в разделе Cluster API. Таблица основных API‑групп и Kind для жизненного цикла узлов — на странице Создание узлов при развертывании клиентского кластера.
Ядро CAPI в платформе — сервис Провайдер Cluster API (shturval-capi). Для каждой поддерживаемой инфраструктурной среды подключается отдельный инфраструктурный провайдер Cluster API (отдельный сервис в кластере управления): он создаёт виртуальные машины на основании шаблона в инфраструктурной среде. Ниже в таблице перечислены эти сервисы и ссылки на их описание.
Наглядно связка «администратор → CAPI в кластере управления → инфраструктурный провайдер → API виртуализации → узлы рабочего кластера» показана на схеме (на примере oVirt):
Иллюстрация: Кратко о Cluster API

Какие термины важны не путать
- Cluster API (CAPI) — механизм управления кластерами и узлами в Kubernetes; объекты CAPI находятся в кластере управления (см. Cluster API).
- Провайдер инфраструктуры — виртуализация, облако или физические хосты, которые вы подключаете платформу «Штурвал»: oVirt, VMware vSphere, OpenStack, Yandex Cloud и т.д.
- Провайдер Cluster API (инфраструктурный провайдер CAPI) — компонент в кластере управления (например,
shturval-capvsдля vSphere), реализующий контракт CAPI для конкретной среды. В веб-интерфейсе кластера управления такие компоненты могут называться, например, «Провайдер vSphere», «Провайдер oVirt». - Экземпляр провайдера — объект в разделе Провайдеры → Конфигурация провайдеров: подключение к вашей конкретной среде (vCenter, Engine oVirt, проект OpenStack и т.п.), учётные данные, зона/проект, при необходимости пул IP и шаблоны ВМ. Это настройка на стороне платформы.
- Пул IP-адресов — диапазон адресов, из которого при настроенном пуле при создании кластера могут выбираться VIP для KubeAPI и Ingress (вместо этого адреса можно задать вручную — см. Пул IP-адресов). Механизм пулов предусмотрен не для всех инфраструктур (см. таблицу) .
- Шаблон ВМ — образ виртуальной машины для поставки узлов; для Shturval v2 шаблон ВМ не используется (узлы — подготовленные хосты).
От абстрактного к конкретному
- Кластер управления инициализирует сервисы, в том числе shturval-capi и инфраструктурные провайдеры. Вам не требуется самостоятельно настраивать сервисы операторов.
- Инфраструктурный провайдер CAPI взаимодействует с API вашей среды виртуализации или облака и по ресурсам CAPI создаёт ВМ.
- В интерфейсе платформы вы настраиваете экземпляр провайдера (подключение к среде), при необходимости пул IP и шаблоны ВМ, после чего создаёте клиентские кластера.
Более подробно о роли Cluster API и подходе платформы — в статье Как Штурвал управляет облаками.
Экземпляр провайдера
Для каждой поддерживаемой инфраструктурной среды вы создаёте экземпляр — конфигурацию подключения к конкретной среде (Engine oVirt, vCenter, проект OpenStack и т.п.). Где это делается в интерфейсе: Провайдеры → Конфигурация провайдеров; для сред с пулами IP сначала создаётся пул в Провайдеры → Пулы IP-адресов (см. [порядок подготовки: пул → экземпляр → шаблон](#инфраструктура-сервис-Cluster API-и-пул-ip)).
Для создания экземпляра требуется, чтобы сервис инфраструктурного провайдера был включен в кластере управления. В блоке Сервисы провайдеров доступно управление режимом сервисов провайдеров. После включения сервису необходимо время на запуск, может потребоваться несколько минут; когда он успешно развернётся, тип экземпляра провайдера автоматически станет доступным в списке Добавить экземпляр провайдера.
Если сервис провайдера отключён, ранее созданные экземпляры остаются доступными только для просмотра.
Обратите внимание! Сервис провайдера, с которым развёрнут кластер управления, является критически важным сервисом платформы, поэтому недоступен для отключения.
В одном экземпляре задаются, в общем виде:
- Учётные данные и параметры API;
- Контекст среды (datacenter, проект, зона и т.д., в зависимости от типа);
- Пул IP-адресов — только для инфраструктур, где пулы поддерживаются (Shturval v2, oVirt, zVirt, oVirt, HostVM, РЕД Виртуализация, ROSA Virtualization, VMware vSphere);
- Шаблоны ВМ для версий Kubernetes — для провайдеров инфраструктуры, у которых узел создаётся из шаблона (см. раздел Шаблоны ВМ).

Пошаговый порядок: [пул IP и таблица по средам](#инфраструктура-сервис-Cluster API-и-пул-ip), затем экземпляр провайдера и шаблоны ВМ.
Инфраструктура, сервис Cluster API и пул IP {#инфраструктура-сервис-Cluster API-и-пул-ip}
Ниже: какая инфраструктурная среда, какой сервис Cluster API документирован в поставке, доступен ли пул IP в интерфейсе (при необходимости) и где читать про настройку экземпляра в разделе «Провайдеры».
| Инфраструктурная среда | Пул IP (VIP KubeAPI / Ingress) | Cluster API оператор провайдера | Неймспейс провайдера | Настройка в интерфейсе |
|---|---|---|---|---|
| Shturval v2 (bare metal / SSH) | Да | Провайдер Shturval v2 (shturval-capsm) | shturval-capsm |
Shturval v2 |
| oVirt (zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization и др.) | Да | Провайдер oVirt (shturval-capov) | capov-system |
oVirt и подобные провайдеры |
| VMware vSphere | Да | Провайдер vSphere (shturval-capvs) | capv-system |
VMware vSphere |
| OpenStack (VK Cloud, Selectel) | Нет | Провайдер OpenStack (shturval-capos) | capos-system |
OpenStack и подобные провайдеры |
| Basis Dynamix | Нет | Провайдер Basis Dynamix (shturval-capbd) | capbd-system |
Basis Dynamix |
| VMware vCloud Director | Нет | Провайдер vCloud Director (shturval-capvcd) | capvcd-system |
VMware vCloud Director |
| Yandex Cloud | Нет | Провайдер Yandex Cloud (shturval-capy) | capy-system |
Yandex Cloud |
Шаблоны ВМ
Для провайдеров инфраструктуры, у которых узел кластера создаётся из образа ВМ (все кроме Shturval v2), шаблоны виртуальных машин готовят по одной общей методике. На странице экземпляра провайдера шаблон сопоставляют с версией Kubernetes, для которой он предназначен.
Для Shturval v2 шаблон не используется: узлы — это хосты с подготовленной ОС, которые добавляются в экземпляр. Kubernetes на такие хосты устанавливает и обновляет штатный механизм платформы Штурвал.
Гибридные кластеры
Узлы в одном кластере могут быть подготовлены несколькими провайдерами: основной провайдер инфраструктуры (VMware vSphere, zVirt, oVirt, HostVM, РЕД Виртуализация, ROSA Virtualization, OpenStack, Selectel, VK Cloud, Basis Dynamix, VMware vCloud Director, Yandex Cloud (любой провайдер кроме Shturval v2 как основного)) и дополнительные Worker-группы на хостах Shturval v2 — например, физические узлы с GPU при Control Plane узлах и Worker узлах на VMware vSphere. При создании кластера в мастере задаётся один провайдер; хосты Shturval v2 подключаются после развёртывания. См. Гибридные кластеры.
Частые ошибки
Ошибка: «Нет свободных адресов в пуле»
Решение: Добавьте диапазон в пул или освободите адреса (удалите кластер, который их использовал).
Ошибка: «Проверка подключения не прошла»
Решение: Проверьте URL, логин, пароль. Убедитесь, что с узлов платформы есть доступ к платформе виртуализации/облаку. Сверьте требования выбранного контура: открытый, закрытый — порты и направления трафика.
Ошибка: «Шаблон не найден»
Решение: Убедитесь, что шаблон создан по инструкции и добавлен в экземпляр провайдера для нужной версии Kubernetes.
Что читать дальше
- Cluster API — иерархия ресурсов и ориентиры по диагностике
- Провайдер Cluster API (shturval-capi) — ядро CAPI в кластере управления
- Пул IP-адресов — когда пул нужен, ограничения, требования к VIP
- [Подготовка провайдеров к первому кластеру](#инфраструктура-сервис-Cluster API-и-пул-ip) — порядок: пул (если применимо) → экземпляр → шаблон ВМ
- Подробная архитектура (компоненты управления) — кластер управления, сервисы, провайдеры в общей схеме
- Менеджер клиентских кластеров (shturval-cluster-manager) — как в поставке согласуются сервисы, включая CAPI