Доступен выпуск свободной 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).
Пользователи, включённые в соответствующие группы, могут получить доступ как через Kubernetes, так и через Dashboard. Несмотря на то что в Cozystack используется API-ориентированный подход, Dashboard является важной частью платформы, так как позволяет быстро сформировать необходимые сервисы через графический интерфейс, далее посмотреть, как они отображаются в API, а уже потом описать их как код (IaC).
Основные измерения в Dashboard:
- Обеспечена работа напрямую с 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.
Источник: opennet.ru