Архитектура Платформы «Штурвал»

Архитектура платформы контейнерной оркестрации «Штурвал» состоит из кластера управления (Cluster Management) и кластеров рабочих нагрузок (клиентских кластеров):

  • «Кластер управления» - представляет из себя кластер оркестрации контейнеров Kubernetes, который позволяет создавать и управлять клиентскими кластерами оркестрации контейнеров;
  • «Клиентский кластер» - представляет из себя один или несколько кластеров оркестрации контейнеров, внутри которых выполняется запуск приложений.

Структура платформы

structure

Кластер управления

Кластер управления необходим для управления инфраструктурой клиентских кластеров, централизованного сбора и хранения логов и метрик мониторинга, управления доступами и пользователями. Кластер управления не предназначен для запуска и контроля нагрузок в клиентских кластерах. В случае отказа кластера управления, работа клиентских кластеров не прерывается. Восстановление работы кластера управления описано здесь. Возможность развертывания DR кластера управления описана здесь.

Инсталляция может быть произведена только на ОС Linux. Поддерживаются следующие версии ОС:

Операционная система Версия системы Версия ядра
Astra Linux SE 1.7 5.15.0-70-generic
RHEL 8.7 4.18
Debian bullseye 5.10
Ubuntu focal 5.4
Ubuntu jammy 5.15
RedOs Murom, 7.3.*, 8 5.10, 5.15, 6.1, 6.1.52, 6.6
Rosa Cobalt 5.15
Rocky Linux 8.7 4.18, 5.10
Alt Linux SP 5.10.*

Для создания кластера управления рекомендуется конфигурация:

  • 3 Master-узла;
  • 3 Worker-узла (и более);

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

Параметр CPU (vCPU) Memory (GiB) Disk (GiB) IOPS
Зеркало (Registry) 4 16 300 300
Master-узел 12 16 200 600
Worker 16 64 800 600

Клиентский кластер

Клиентские кластеры могут быть созданы после успешного развертывания кластера управления. Есть возможность развертывания кластеров в защищенной конфигурации. Эта опция осуществляет установку защищенного соединения с Kubelet и автоматическую настройку политики аудита. Доступно создание клиентских кластеров различных версий Kubernetes в рамках одного кластера управления.

Доступно создание клиентских кластеров с использованием заранее подготовленных хостов или шаблонов провайдеров инфраструктуры:

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

Параметр CPU (vCPU) Memory (GiB) Disk (GiB) IOPS
Master-узел 12 16 200 600
Worker 2 8 100 300
Infra Worker 16 16 800 600

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

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

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

Инсталляция

Для развертывания платформы «Штурвал» используется утилита первоначального развертывания –stc. Она позволяет развернуть платформу в интерактивном или тихом режиме. Инсталляция платформы доступна в закрытом (без прямого доступа к сети Интернет) и открытом окружениях.

Обновление

Выпускается 2 вида версий:

  • минорная;
  • патч;

Выпуск минорных версий происходит 4 раза в год поквартально. Выпуск патч-версий происходит опционально при необходимости устранения выявляемых уязвимостей и багфикса.

releases

Соответствие выпущенной версии Штурвала и версии Kubernetes

Версия релиза Версия Kubernetes
2.2.0 1.25.9
2.2.4 1.25.9
2.2.5 1.25.9
2.2.6 1.25.9
2.3.0 1.26.5
2.3.1 1.26.5
2.3.2 1.26.5
2.3.3 1.26.10
2.4.0 1.27.6
2.4.1 1.27.6
2.5.0 1.28.3
2.5.1 1.28.3
2.5.2 1.28.3
2.5.3 1.28.9
2.6.0 1.29.1
2.6.1 1.29.1
2.7.0 1.29.4
2.7.1 1.29.6

Доступно ручное и автоматическое обновление кластера управления и клиентских кластеров. Обновление кластера управления и каждого клиентского кластера происходит независимо друг от друга. Обновление доступно в закрытом и открытом окружениях.

Аутентификация и авторизация

Платформа не использует и не хранит пользователей. Исключением является встроенная (резервная) УЗ с административными правами. Эта УЗ которая создается по умолчанию в процессе инсталляции платформы.

Для аутентификации пользователей Платформа взаимодействует с централизованной службой каталогов. Поддерживаются каталоги:

  • Active Directory;
  • OpenLdap;
  • FreeIPA;
  • SambaDC.

По умолчанию используется внутренний сервис аутентификации. Есть возможность подключения внешнего сервиса, поддерживающего протокол OIDC OAuth 2.0, например, Blitz или Keykloak.

В платформе есть предустановленный набор ролей, позволяющих гибко настроить доступ на различных уровнях:

  • к кластеру управления и всем клиентским кластерам;
  • к конкретному клиентскому кластеру;
  • к конкретным объектам клиентского кластера;
  • к конкретному неймспейсу клиентского кластера;
  • к конкретным объектам неймспейса клиентского кластера.

Для каждого запроса выполняется авторизация. Например, если права доступа для пользователя были изменены после аутентификации, то несанкционированный доступ будет запрещен.

Использование сервисов

При инсталляции платформы и клиентских кластеров есть возможность выбора сервисов, которые будут развернуты автоматически. Список сервисов доступен здесь. Все используемые сервисы сканируются на уязвимости для безопасного использования в составе платформы.

Логирование и мониторинг

Для сбора метрик в клиентских кластерах и кластере управления поставляется Prometheus. Для сбора логов – Fluentbit Operator. Метрики доступны на предварительно настроенных дашбордах Grafana. Доступ в Grafana осуществляется по SSO с учетом ролевой модели.

Журналы доступны в OpenSearch. Если кластер установлен в защищенной конфигурации, автоматически будет настроена Audit Policy и создан соответствующий индекс в OpenSearch. Доступ в OpenSearch осуществляется по SSO с учетом ролевой модели. Есть возможность гибкого управления оповещениями из графического интерфейса платформы.

Графический интерфейс

Интерфейс платформы выполнен на русском языке. Он содержит подсказки и информационные сообщения для упрощения использования платформы. В графическом интерфейсе также доступно управление объектами с помощью импорта и редактирования YAML-манифестов.

Безопасность

В составе платформы «Штурвал» поставляется несколько инструментов для обеспечения безопасности работы в кластере:

  • Kyverno (доступен менеджер политик безопасности, просмотр отчетов о срабатывании политик безопасности по кластеру, неймспейсу и нагрузкам неймспейсов, выгрузка отчетов);
  • Kubebench (доступен просмотр отчета проверки компонентов на соответствие CIS Benchmark, ручной и автоматизированный перезапуск сканирования, выгрузка отчетов);
  • Trivy Operator (доступен просмотр отчетов на наличие уязвимостей по кластеру, неймспейсу и нагрузкам неймспейсов, выгрузка отчетов. Сканирование осуществляется в т.ч. для российских ОС);
  • Графический редактор сетевых политик Cilium Network Policies.

Резервное копирование и восстановление

В составе платформы «Штурвал» поставляется модуль резервного копирования и восстановления на основе Velero. Доступно ручное и автоматизированное создание резервных копий в кластере управления, клиентских кластерах и неймспейсах. Для сохранения резервных копий необходимо подключение S3-хранилища.