Доступен выпуск свободной PaaS-платформы Cozystack 0.21.0, построенной на базе Kubernetes. Проект нацелен на предоставление готовой платформы для хостинг-провайдеров и фреймворка для построения частных и публичных облаков. Платформа устанавливается напрямую на серверы и охватывает все аспекты подготовки инфраструктуры для предоставления управляемых сервисов. Cozystack позволяет запускать и предоставлять кластеры Kubernetes, базы данных и виртуальные машины. Код платформы доступен на GitHub и распространяется под лицензией Apache-2.0.
В качестве базового стека технологий используется Talos Linux и Flux CD. Образы с системой, ядром и необходимыми модулями формируются заранее, и обновляются атомарно, что позволяет обойтись без таких компонентов как dkms и пакетный менеджер, и гарантировать стабильную работу. Предоставляется простой метод установки в пустом дата-центре с помощью PXE и debian-подобного установщика talos-bootstrap.
Платформа включает свободную реализацию сетевой инфраструктуры (fabric) на базе Kube-OVN, и использует Cilium для организации сервисной сети, MetalLB для анонса сервисов наружу. Хранилище реализовано на LINSTOR, где предлагается использование ZFS в качестве базового слоя для хранилища и DRBD для репликации. Имеется преднастроенный стек мониторинга на базе VictoriaMetrics и Grafana. Для запуска виртуальных машин используется технология KubeVirt, которая позволяет запускать классические виртуальные машины прямо в контейнерах Kubernetes и уже имеет все необходимые интеграции с Cluster API для запуска управляемых Kubernetes-кластеров внутри "железного" Kubernetes-кластера. В новой версии полностью переработан интерфейс Dashboard, который теперь напрямую работает с API Cozystack, а не с ресурсами FluxCD. Изменение предоставляет графический интерфейс конечным пользователям и даёт возможность выделять им права для развёртывания тех или иных сервисов с учётом стандартной модели RBAC в Kubernetes. Для каждого tenant-а по умолчанию создаётся четыре группы:- view - для доступа только на чтение;
- use - для подключения к виртуальным машинам и использования сервисов;
- admin - для возможности заказа основных сервисов (mysql, postgres, redis, kubernetes, virtual-machine и т.п.);
- super-admin - для создания дочерних tenant-ов и запуска сервисных служб (monitoring, etcd, ingress и seaweedfs).
- Обеспечена работа напрямую с API Cozystack.
- Убраны префиксы для приложений, так как каждое приложение теперь использует свой собственный Kind.
- Пространства имён фильтруются по префиксу "tenant-", что позволяет отображать только пользовательские пространства имён и исключить из отображения системные.
- Исправлено отображение пиктограмм при включённом OIDC (OpenID Connect).
- Добавлены косметические исправления, в том числе корректные ссылки на документацию.
- Добавлена авторизация для Redis.
- Выполнен рефакториг ролей и привязок ролей для tenant-ов, удалены все разрешения для ресурсов HelmRelease, удалена группа kubeapps-admin.
- Исправлен запуск Grafana, исправлен URL для плагина VictoriaLogs.
- Исправлена спецификация OpenAPI для List-ресурсов в API Cozystack.
- Talos Linux обновлён до версии 1.8.4.
- Linstor-ha-controller обновлён до версии 1.2.3, что решило проблему с отказоустойчивостью виртуальных машин.
- Добавлена настройка размера для базы данных Grafana.
- Добавлены дополнительные возможности управления ресурсами VMCluster.