Достъпен е новият свободен 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
