2.15.0 — Платформа на Gateway API и обновление через Cluster Manager
Если коротко — в 2.15.0 платформа стала проще в установке и повседневной эксплуатации. В архитектуре стало меньше отдельных компонентов, а обновление кластеров получило управляемые стратегии:
- Обновление кластеров: обновлением управляет Cluster Manager, кластеры обновляются по выбранной стратегии
InPlaceилиRollingUpdateбез лишних миграций нагрузок. - Трафик и хранилище: входящий HTTP-трафик кластера управления обрабатывает Gateway API, а Ceph CSI поставляется единым оператором.
- Нагрузки, интерфейс и резервные копии: в интерфейсе появились настройки VPA, расширенные настройки HPA и правила affinity, а нагрузки можно перезапускать и возвращать к предыдущей ревизии.
- Узлы, доступ и безопасность: при создании кластера можно настроить выпуск сертификатов через Vault, а документы VEX позволяют исключать размеченные уязвимости из отчётов анализа образов.
- GPU: новые инструкции охватывают сценарии Kubeflow и подготовку узлов с GPU Operator.
- Документация: конструкторы помогают подготовить YAML, а обратную связь по документации можно отправить по выделенному фрагменту текста.
- Установка и инфраструктура: платформу можно установить с провайдером Yandex Cloud в экспериментальном режиме,
shtilработает на обычном ноутбуке и лучше диагностирует ход установки, а образы стали на 30% компактнее. - Компоненты платформы: обновлены Kubernetes и ключевые сервисы.
Полный перечень изменений приведён в release notes 2.15.0.
Обновление кластеров
Обновление кластера теперь выполняет Cluster Manager. Целевую версию задают в ClusterConfig, отдельный модуль shturval-update больше не используется.
Для обновления кластера добавили две стратегии:
InPlaceобновляет Kubernetes на существующих узлах без пересоздания;RollingUpdateпоочерёдно пересоздает узлы, используя шаблон ВМ целевой версии изInfrastructureProvider.
Для кластеров управления версии ниже 2.15 доступна только стратегия по умолчанию InPlace. Для клиентских кластеров стратегию можно изменить, если платформа уже обновлена до 2.15. RollingUpdate недоступен для кластеров на провайдере Shturval v2, в том числе гибридных. Если в кластере есть тома RawFile, обновление с этой стратегией тоже не завершится. Подробнее — в разделе Стратегии обновления кластера. Это позволяет выбрать подходящий сценарий в зависимости от нагрузки и допустимого времени недоступности. Количество перемещений прикладных нагрузок при обновлении сокращается до одного.
Трафик и хранилище
После обновления кластера управления входящий трафик принимает Gateway API, а shturval-ingress-controller устанавливается в режиме absent. Платформа переходит на Cilium 1.20 и Gateway API 1.6.1: маршрутизация приложений становится частью sidecarless Service Mesh — с L7-управлением через стандартные ресурсы Gateway API и без отдельного прокси в каждом поде.
В клиентских кластерах по-прежнему можно выбрать способ маршрутизации трафика: NGINX Ingress Controller или Gateway API. Маршруты HTTPRoute и GRPCRoute теперь также отображаются на дашборде неймспейса. Подробнее — в разделе Gateway API.
Ceph CSI теперь поставляется единым оператором shturval-ceph-csi. Отдельные сервисы shturval-ceph-cephfs и shturval-ceph-rbd больше не поставляются. Если они установлены, при обновлении до 2.15.0 платформа автоматически перенесёт их на новый оператор.
Нагрузки, интерфейс и резервные копии
В Deployment и StatefulSet появилось управление вертикальным автомасштабированием. Для HPA можно задать скорость изменения числа реплик и паузу между операциями масштабирования. В шаблоне пода доступны Node Affinity, Pod Affinity и Pod Anti-Affinity.
Скриншоты автомасштабирования VPA и HPA


Deployment, StatefulSet и DaemonSet можно перезапустить rollout restart или вернуть к предыдущей ревизии rollout undo прямо в интерфейсе. В Secret типа kubernetes.io/tls можно посмотреть сертификат и ключ, а в списках объектов платформы, кластера и неймспейса — удалить сразу несколько объектов.
Скриншоты перезапуска, сертификата и множественного удаления



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


Из небольших, но полезных улучшений интерфейса: полосу окружения теперь можно настроить без правки аннотаций кластера, для импорта манифестов можно выбрать несколько файлов, а лицензии сроком более 15 лет отображаются как бессрочные.
Скриншоты полосы окружения и импорта манифестов


Узлы, доступ и безопасность
Назначенные права теперь показаны иерархически — от тенанта до неймспейсов, отдельно для групп и пользователей. На странице ServiceAccount можно назначать Role и ClusterRole вместе с соответствующими RoleBinding и ClusterRoleBinding.
Скриншоты управления доступом


Taints для всех узлов Worker-группы можно один раз задать в интерфейсе её конфигурации, а не назначать каждому узлу отдельно. Проблемы узлов отслеживает shturval-npd, а в настройках Container Runtime можно подключить приватный registry.
Скриншоты Taints, мониторов узла и приватного registry



Кластер теперь можно развернуть с сертификатами Vault и подключением к Vault по токену. При этом cert-manager автоматически выпускает и обновляет TLS-сертификаты из корпоративного хранилища.
Теперь поставляются результаты разметки уязвимостей и поддерживает VEX прямо в платформе. К сканеру можно подключить репозиторий документов VEX, чтобы исключить размеченные уязвимости из отчётов и точнее приоритизировать работу с CVE.
Скриншоты анализа образов до и после подключения VEX


Установка и инфраструктура
shtil теперь работает на минимальной конфигурации: 2 vCPU, 3 GiB RAM и 3 GiB на диске. Подготовка к установке кластера управления завершается примерно за 2 минуты. При установке из CLI все этапы теперь подробно записываются в журнал, что упрощает диагностику проблем. После успешной установки из install-cli удаление bootstrap-кластера запускается автоматически.
Убрали ограничение на установку только из списка поддерживаемых ОС. Платформу теперь можно развернуть без блокировки на ОС, которых нет в протестированном перечне. Протестированные версии и остальные требования приведены отдельно для открытого и закрытого контуров.
Данные экземпляра провайдера, включая шаблоны ВМ и соответствующие им версии Kubernetes, хранятся в ресурсе InfrastructureProvider. К одной версии Kubernetes можно привязать несколько шаблонов и выбрать нужный при создании кластера. Для предсказуемого RollingUpdate на целевую версию рекомендуется оставить один шаблон: если их несколько, платформа выберет первый по алфавиту.
В кластерах с oVirt и подобными провайдерами режим клонирования дисков можно выбрать отдельно для Control Plane и Worker-групп — как при создании, так и в работающем кластере. Клонирование понадобится, если диски новых ВМ должны находиться не в домене шаблона ВМ, а в другом Storage Domain. Настройки уже созданных ВМ при этом не меняются. Подробнее — клонирование диска oVirt.
При создании кластера с CSI можно выбрать, удалять ли PV вместе с кластером. По умолчанию внешние диски остаются в инфраструктуре. Настройка доступна для oVirt и совместимых виртуализаций, VMware vSphere, OpenStack, VK Cloud, Selectel, VMware vCloud Director и Yandex Cloud.
В 2.15.0 платформу можно развернуть в Yandex Cloud в экспериментальном режиме. Узлы создаёт shturval-capy, а диски подключает shturval-capy-csi. Для узлов сервисному аккаунту нужны роли compute.editor и alb.editor, для CSI — дополнительно k8s.clusters.agent.
В интерфейсе экземпляра провайдера Shturval v2 теперь можно задать пароль для sudo и версию платформы для подготовки хоста с помощью stc. Итоговый статус готовности появляется только после проверки SSH, прав sudo, компонентов узла, занятости хоста и уникальности /etc/machine-id.
Дашборд развёртывания стал интерактивным: завершённые этапы сворачиваются, а этапы в процессе выполнения остаются на экране с подробными данными. Подробнее — на странице Статус развёртывания.
Компоненты платформы. Kubernetes и сервисы shturval
В релизе обновлены ключевые компоненты:
- Kubernetes 1.36.5
- Cilium CNI 1.20.4
- Cluster API 1.13.7
- VictoriaMetrics Cluster 1.148.0
- VictoriaMetrics Agent 1.148.0
- Grafana Dashboards 12.3.9
- Vector 0.57.0
- Trivy 0.71.1
- Argo CD 3.3.12
- Cert-manager 1.20.3
- Trust Manager 0.24.0
- Gateway API CRDs 1.6.1
Полный перечень чартов и версий см. на странице Сервисы репозитория Shturval.
Особенности перехода с 2.14, в том числе миграция Ceph CSI, перечислены в release notes 2.15.0.
GPU
Для работы с ML- и GPU-нагрузками появился последовательный набор инструкций — от подготовки узлов и установки GPU Operator до запуска Kubeflow. Раздел ML-сценарии описывает весь процесс:
- обзор ML в Штурвале объясняет состав решения и порядок работ;
- установка Kubeflow охватывает настройку OIDC, установку и проверку результата;
- подготовка GPU описывает GPU Operator, драйверы NVIDIA и Fabric Manager;
- профили Kubeflow помогают создать рабочие области команд;
- внешний доступ к KServe нужен для вызова моделей извне кластера;
- устранение неполадок помогает диагностировать Kubeflow и NVIDIA-компоненты.
Документация
Новые конструкторы позволяют быстро собрать требуемую конфигурацию YAML прямо в документации и применить её в своём кластере:
- конструктор резервной копии собирает Velero
BackupилиScheduleдля кластера управления; - конструкторы установки готовят манифесты провайдера и кластера для
shtil install-cli: oVirt, VMware vSphere, OpenStack, Shturval v2 и Yandex Cloud Добавлен в экспериментальном режиме; - на странице
shturval-npdможно собрать настройки мониторов узла.
Теперь можно отправить обратную связь, сообщить об ошибке, задать вопрос или предложить дополнить описание: достаточно выделить фрагмент текста на странице, нажать значок вопроса и выбрать Запросить пояснение или Сообщить о неточности. К обращению можно добавить комментарий; вместе с ним будут отправлены адрес страницы и выделенный фрагмент. Подробнее — на странице Если нашли ошибку.
Исправлено
В установке исправлены ошибки shtil с rootless Podman на ALT Server 10, Astra Linux и Debian 11, а также удаление кластера при потере связи с провайдером. После неуспешной установки объекты кластера больше не остаются в системе.
Полный список — в release notes 2.15.0.