Архитектура Платформы «Штурвал»
Архитектура платформы контейнерной оркестрации «Штурвал» состоит из кластера управления (Cluster Management) и кластеров рабочих нагрузок (клиентских кластеров):
- «Кластер управления» - представляет из себя кластер оркестрации контейнеров Kubernetes, который позволяет создавать и управлять клиентскими кластерами оркестрации контейнеров;
- «Клиентский кластер» - представляет из себя один или несколько кластеров оркестрации контейнеров, внутри которых выполняется запуск приложений.
Структура платформы
Кластер управления
Кластер управления необходим для управления инфраструктурой клиентских кластеров, централизованного сбора и хранения логов и метрик мониторинга, управления доступами и пользователями. Кластер управления не предназначен для запуска и контроля нагрузок в клиентских кластерах. В случае отказа кластера управления, работа клиентских кластеров не прерывается. Восстановление работы кластера управления описано здесь. Возможность развертывания 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 в рамках одного кластера управления.
Доступно создание клиентских кластеров с использованием заранее подготовленных хостов или шаблонов провайдеров инфраструктуры:
- vSphere 6.7 update 3 или 7.0 и выше
- oVirt (в т.ч. RedVirt, zVirt) с версией oVirt Engine API не ниже 4.4
- OpenStack (на платформе виртуализации VKCloud)
- Basis Dynamix
- Shturval v2
Рекомендуемые системные требования для клиентского кластера
Параметр | CPU (vCPU) | Memory (GiB) | Disk (GiB) | IOPS |
---|---|---|---|---|
Master-узел | 12 | 16 | 200 | 600 |
Worker | 2 | 8 | 100 | 300 |
Infra Worker | 16 | 16 | 800 | 600 |
Создание и управление кластерами доступно:
- в графическом интерфейсе;
- интерфейсе командной строки и с использованием команд;
- с использованием программного интерфейса (например, для встраивания запросов в конвейеры поставки (CI/CD pipelines)).
Взаимодействие кластера управления с клиентскими кластерами
Сетевое взаимодействие кластера управления и клиентских кластеров в различных конфигурациях описано здесь.
Инсталляция
Для развертывания платформы «Штурвал» используется утилита первоначального развертывания –stc. Она позволяет развернуть платформу в интерактивном или тихом режиме. Инсталляция платформы доступна в закрытом (без прямого доступа к сети Интернет) и открытом окружениях.
Обновление
Выпускается 2 вида версий:
- минорная;
- патч;
Выпуск минорных версий происходит 4 раза в год поквартально. Выпуск патч-версий происходит опционально при необходимости устранения выявляемых уязвимостей и багфикса.
Соответствие выпущенной версии Штурвала и версии 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-хранилища.