Cozystack 1.3: планирование с учётом хранилища, LINSTOR GUI и образы ВМ по умолчанию

Cozystack v1.3.0

Cozystack 1.3: планирование с учётом хранилища, LINSTOR GUI и образы ВМ по умолчанию

Cozystack v1.3.0 теперь доступен. Релиз также включает все исправления, вышедшие в линейке патчей v1.2.1 → v1.2.4.

В этом цикле платформа продвинулась вперёд в пяти ясных направлениях: более умное размещение хранилища, управляемый UI для LINSTOR, встроенный каталог базовых образов ВМ, более глубокая наблюдаемость на уровне приложений и полноценное резервное копирование и восстановление ВМ между пространствами имён.

Основные моменты

Планирование с учётом хранилища через расширитель LINSTOR

Теперь cozystack-scheduler обращается к расширителю планировщика LINSTOR при размещении подов, которые объявляют одновременно SchedulingClass и PVC на базе LINSTOR. Поды предпочтительно размещаются на узлах, где уже находятся реплики их томов, что сокращает межузловой трафик репликации и снижает задержку ввода-вывода для рабочих нагрузок с интенсивным использованием хранилища — баз данных, объектных хранилищ, ВМ.

Это развивает систему SchedulingClass, представленную в v1.2, и не требует настройки на стороне арендатора. Операторы могут по-прежнему сочетать локальность хранилища с существующими ограничениями по дата-центру / поколению оборудования в SchedulingClass.

LINSTOR GUI: управляемая веб-консоль для администрирования хранилища

Новый подключаемый пакет linstor-gui развёртывает linstor-gui от LINBIT рядом с контроллером LINSTOR с клиентской аутентификацией mTLS и security-контекстом без прав root. Когда настроен OIDC, опциональный защищённый Keycloak ingress (через oauth2-proxy) открывает доступ к UI; доступ ограничен участниками группы cozystack-cluster-admin, что согласуется с RBAC администратора хост-кластера. Рабочий процесс через CLI не изменился — GUI строго дополняет его.

Образы ВМ по умолчанию: подготовка ВМ из коробки

Новый пакет vm-default-images поставляет курируемый набор образов ВМ уровня кластера (Ubuntu, Debian, CentOS Stream и другие) в виде заранее заполненных DataVolume. Арендаторы могут развёртывать ВМ на основе хорошо известных базовых образов, не загружая их предварительно. Пакет подключается через комплект iaas и по умолчанию использует реплицируемое хранилище. Чарт vm-disk также получает новый тип источника «disk» для клонирования из существующих vm-disk в том же пространстве имён.

Наблюдаемость на уровне приложений: WorkloadsReady, Events и учёт S3

Теперь приложения предоставляют условие WorkloadsReady в своём статусе, агрегируя лежащие в их основе ресурсы WorkloadMonitor, что даёт операторам единый сигнал готовности для Deployment, StatefulSet, DaemonSet и PVC. Панель управления получает новую вкладку Events, показывающую события Kubernetes в рамках пространства имён для каждого приложения.

Реконсилятор WorkloadMonitor расширен для отслеживания объектов COSI BucketClaim как полноценных Workload, а контроллер бакетов запрашивает метрики размера бакетов SeaweedFS из VictoriaMetrics — что позволяет строить конвейеры биллинга S3 наравне с Pod и PVC.

Восстановление резервных копий ВМ между пространствами имён и панель RestoreJob

Система резервного копирования теперь поддерживает восстановление резервных копий VMInstance в другое пространство имён с сохранением IP/MAC и безопасной семантикой переименования. Процессы резервного копирования и восстановления «на месте» для VMDisk и VMInstance улучшены по всем направлениям, а сообщения об ошибках Velero теперь передаются в статус Application. Панель управления получает полноценную работу с RestoreJob: представление списка, страницу с деталями, форму создания и пункт в боковой панели.

Также в v1.3.0

  • Более строгая проверка имён арендаторов — только буквенно-цифровые символы на уровне API, плюс проверка того, что вычисленное пространство имён цепочки предков укладывается в ограничение Kubernetes в 63 символа.
  • Поле subnets в VMInstance переименовано в networks с выпадающим селектором в панели управления; старое поле остаётся поддерживаемым через миграцию 36.
  • Пользовательские темы Keycloak можно внедрять через initContainers; Keycloak-Configure добавляет подтверждение email и настройки SMTP для процессов самостоятельной регистрации.
  • Предварительная проверка среды выполнения хоста (make preflight) предупреждает, когда отдельный containerd или docker работает рядом со встроенной средой выполнения k3s.
  • Системный PostgreSQL закреплён на версии 17.7-standard-trixie для Grafana, Alerta, Harbor, Keycloak и SeaweedFS — чтобы предотвратить дрейф на PostgreSQL 18.
  • kube-ovn обновлён до v1.15.10 с исправлением регрессии port-group, сохраняющим членство LSP для ВМ при живой миграции.
  • Все исправления ошибок из v1.2.1 → v1.2.4 включены в v1.3.0.

Документация, о которой стоит знать

Этот релиз сопровождается значительным обновлением документации. Новые и переписанные руководства, которые напрямую дополняют возможности v1.3:

Управление проектом

В этом цикле мы также приветствовали двух новых мейнтейнеров: Mattia Eleuteri ( @mattia-eleuteri) — CSI, хранилище, сети и безопасность — и Matthieu Robin ( @matthieu-robin) — управляемые приложения, качество платформы и бенчмаркинг.

Спасибо всем участникам

Этот релиз сформирован работой @androndo, @Arsolitt, @BROngineer, @IvanHunters, @kitsunoff, @kvaps, @lexfrei, @lllamnyp, @mattia-eleuteri, @myasnikovdaniil, @sircthulhu и @tym83.

Особо приветствуем нашего впервые присоединившегося участника @Arsolitt. Спасибо всем.

Ссылки на релиз

Присоединяйтесь к сообществу