Подробная архитектура

Как устроена платформа: кластер управления, Cluster API, провайдеры и системные сервисы.

Для кого эта страница

Если вы впервые знакомитесь с платформой «Штурвал», этот раздел структурирует состав и связи компонентов.


Общая схема платформы

Платформа «Штурвал» — среда управления контейнерной оркестрацией. В составе — два типа кластеров:

Компонент Описание Роль
Кластер управления Kubernetes-кластер с компонентами платформы Создаёт и управляет клиентскими кластерами, собирает логи и метрики, управляет доступом
Клиентские кластеры Кластеры рабочей нагрузки Запускают приложения (workloads) пользователей

Кластер управления в классическом сценарии не предназначен для запуска прикладных нагрузок пользователей1. Задачи кластера управления:

  1. Управление жизненным циклом клиентских кластеров.
  2. Сбор логов и метрик из клиентских кластеров.
  3. Управление доступом — единая точка аутентификации и авторизации.
  4. Связь с инфраструктурой через провайдеров (oVirt, VMware vSphere, OpenStack и др.).

1 Исключение — режим Stand-alone: кластер управления используется и для workloads без отдельных клиентских кластеров. Подробнее: Режимы работы кластера управления. Требования к ресурсам: открытый контур, закрытый контур.

Важно: При отказе кластера управления клиентские кластеры продолжают работать, но доступ к ним по kubeconfig отсутствует. Для восстановления доступа восстановите кластер управления или переключитесь на резервный кластер управления. Восстановление — в разделе Disaster Recovery.

Взаимодействие

Схема взаимодействия при управлении кластерами

Оператор (администратор) подключается к кластеру управления через Web UI или REST API. Кластер управления:

  • Управляет клиентскими кластерами — через Kube API создаёт, обновляет и контролирует ресурсы (Cluster, Machine, MachineHealthCheck);
  • Аутентифицирует и авторизует — интеграция с LDAP (AD, OpenLDAP, SambaDC, FreeIPA, MULTIDIRECTORY) и IdP (Keycloak, Blitz);
  • Отправляет события в SIEM — данные о событиях безопасности в системы мониторинга и аудита.

Клиентские кластеры управляются кластером управления через Kube API. Права синхронизируются централизованно; метрики и логи собираются в кластере управления в кластере Victoria Metrics и отображаются на дашбордах Grafana. Клиентские кластеры при необходимости изолируются от прямого доступа в Интернет.


Функциональные блоки и сервисы

Схема функциональных блоков платформы

Опорный набор сервисов формируется из групп «Сервис кластера управления» и критических сервисов («Сервисы репозитория Shturval»). Ниже — функциональные блоки и соответствующие сервисы:

Функциональный блок Описание Сервисы
Интерфейс управления Веб-интерфейс и API для работы с кластерами, сервисами, узлами, репозиториями shturval-frontend, shturval-backend
Управление доступом LDAP, OIDC 2.0, RBAC, менеджер сессий shturval-auth
Управление конфигурацией кластеров Инфраструктура (провайдеры, пулы IP), отчёты по ресурсам, анализу образов, политикам безопасности shturval-backend, shturval-cluster-manager
Конфигурация кластеров и узлов Создание и настройка клиентских кластеров, узлов, системных сервисов; масштабирование, MachineHealthCheck, Taints shturval-capi, shturval-cluster-manager, shturval-node-config
Сеть и входной трафик CNI (Cilium), виртуальные IP, Ingress, DNS-кэш shturval-networking, shturval-ingress-controller, shturval-vip, shturval-vip-provider, shturval-caching-dns
Метрики Сбор, хранение и визуализация метрик shturval-monitoring, shturval-metrics-collector, shturval-dashboards, shturval-cert-expiration
Логирование Сбор, агрегация и хранение логов shturval-log-collector, VLogs
Хранилище и снапшоты Локальное CSI-хранилище, снапшоты критических данных shturval-local-csi, shturval-snapshotter
Резервное копирование Бэкапы кластеров и неймспейсов (Velero), основа для DR shturval-backup
Оркестрация сервисов Установка и обновление платформенных сервисов shturval-services, shturval-update
Сертификаты и доверие TLS-сертификаты, корневые CA shturval-cert-manager, shturval-trust-manager

Подробнее: Сервисы кластера управления, Архитектура модулей доступа.


Модульная платформа на операторах

Платформа строится на операторах и контроллерах Kubernetes. Управление функциями (кластеры, узлы, сервисы, доступ, мониторинг) выполняется через кастомные ресурсы (*.shturval.tech) и соответствующие операторы.

Часть чартов — собственной разработки (shturval-cluster-manager, shturval-backend, shturval-frontend, shturval-auth, shturval-capov, shturval-node-config, shturval-services, shturval-update). Остальные собираются из open-source с доработками для интеграции с платформой. Подробнее — Безопасная сборка компонентов платформы.

Все системные сервисы и версия Kubernetes обновляются каждый релиз платформы. Подробнее — Обновление Kubernetes в платформе «Штурвал».


Варианты размещения

Вариант Описание Когда использовать
On-premise Кластер управления на собственной инфраструктуре (VMware vSphere, zVirt, oVirt, HostVM, РЕД Виртуализация, ROSA Virtualization, bare metal) Полный контроль, данные внутри периметра
Облако Кластер управления в публичном облаке (Yandex Cloud, VK Cloud, Selectel) Быстрое развёртывание, масштабирование по требованию
Гибрид Кластер управления в одном окружении, клиентские — в других (в т.ч. bare metal через Shturval v2) Разделение управляющей и workload-инфраструктуры

Системные требования к установке зависят от контура: открытый, закрытый.


Режимы работы кластера управления

Режим Описание
Обычный Кластер управления управляет клиентскими кластерами; workloads — в клиентских кластерах
Stand-alone Кластер управления используется и для workloads (без отдельных клиентских кластеров)
DR Резервный кластер управления для отказоустойчивости. Подробнее: DR-конфигурация

Поддерживаемые провайдеры инфраструктуры

Клиентские кластеры можно создавать на базе:

  • Shturval v2 — bare metal (физические хосты по SSH)
  • oVirt, zVirt, HostVM, РЕД Виртуализация, ROSA Virtualization
  • VMware vSphere
  • OpenStack, VK Cloud, Selectel
  • Basis Dynamix
  • VMware vCloud Director
  • Yandex Cloud

Подробнее — раздел Провайдеры инфраструктуры.