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

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

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

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

structure

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

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

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

Поддерживаемые версии ОС
Операционная система Версия системы Версия ядра
Astra Linux SE 1.7, 1.7.5, 1.8 5.10, 5.15, 6.1, 6.6
RHEL 8.7 4.18
Debian bullseye 5.10.0, 6.1.0
Ubuntu Focal 20.04 5.10
Ubuntu Jammy 22.04 5.15
РЕД ОС Murom, 7.3.4, 8 5.10, 5.15, 6.1, 6.6
Rosa Cobalt 5.15
Rocky Linux 8.7 4.18
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 + WL* 8 100 300
Infra Worker 16 16 800 600

Требование к Worker-узлам 2 + WL применимо только при наличии в кластере Infra Worker-узлов и говорит о том, что к минимальному количеству (2 CPU) необходимо добавить количество CPU, требуемое для развертывания кастомных нагрузок. При отсутствии в кластере Infra Worker-узлов следует принимать рекомендуемое требование к Worker узлам в виде 16 + WL.

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

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

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

  • управляет процессами создания кластеров и объектов инфраструктуры клиентских кластеров (в т.ч. machines, machinehealthchecks);
  • предоставляет централизованное управление доступом, в т.ч. правами и сессиями пользователей;
  • предоставляет централизованное хранение и графическое отображение метрик и журналов клиентских кластеров.

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

Инсталляция

Для развертывания платформы «Штурвал» используется утилита первоначального развертывания –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
2.7.2 1.29.6
2.8.0 1.30.5
2.8.1 1.30.5
2.9.0 1.31.3
2.9.1 1.31.3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Также есть возможность установить наложенные средства информационной безопасности, например, Kaspersky Container Security.

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

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

×