Достъпна е версия 0.37 на свободната PaaS платформа Cozystack, изградена на базата на Kubernetes. Проектът е насочен към предоставяне на готова платформа за хостинг провайдери и рамка за изграждане на частни и публични облаци. Платформата се инсталира директно на сървъри и обхваща всички аспекти на подготовката на инфраструктурата за предоставяне на управлявани услуги. Cozystack позволява стартиране и предоставяне на Kubernetes клъстери, бази данни и виртуални машини. Кодът на платформата е достъпен в GitHub и се разпространява под лицензия Apache-2.0.
Като основен стек технологии се използва Talos Linux и Flux CD. Образите със системата, ядрото и необходимите модули се формират предварително и се обновяват атомарно, което позволява да се избегнат такива компоненти като dkms и пакетен мениджър, и гарантира стабилната работа. Предоставя се прост метод за инсталиране в празен дата център с помощта на PXE и debian-подобен инсталатор talos-bootstrap. В рамките на платформата можете по клик да развивате Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics и други услуги.
Платформата включва свободна реализация на мрежовата инфраструктура (fabric) на база Kube-OVN и използва Cilium за организиране на сервисната мрежа, MetalLB за анонсиране на услугите навън. Хранилището е реализирано на LINSTOR, където се предлага използване на ZFS като основен слой за хранилище и DRBD за репликация. Има предварително конфигуриран стек за мониторинг на база VictoriaMetrics и Grafana. За стартиране виртуални машини се използва технологията KubeVirt, която позволява стартиране на класически виртуални машини директно в контейнери Kubernetes и вече има всички необходими интеграции с Cluster API за стартиране на управлявани Kubernetes клъстери вътре в "железния" Kubernetes клъстер.
През последните един-два месеца екипът на проекта издаде нови версии 0.36 и 0.37. Сред промените в тези версии:
- Интерфейсът на потребителя е пренаписан от нулата. Като основа е използван проектът openapi-ui.

- В интерфейса е добавен селектор за клъстера. Сега дашбордът работи в режим на един клъстер (по един дашборд на клъстер). В бъдеще същият интерфейс ще се използва за мултиклъстерен режим.
- На екрана на клъстера сега веднага се виждат всички налични пространства имен. Списъкът се генерира чрез агрегиращ слой Kubernetes (tenant namespace), така че се показват само тези пространства, до които има достъп.
- Създаването на ресурси сега става чрез форми, автоматично генерирани от Kubernetes OpenAPI. Коментарите от YAML не са нужни: полетата и валидацията се взимат директно от спецификациите.
- Спецификацията на новите приложения се формулира от Helm-чартове с помощта на cozy-values генератора, а въведените полета във формата синхронно се отразяват в крайния YAML.
- Модулите за управление на tenent-ите преминаха в секцията за администриране: тук може да се създават субтенанти и да се задават специфични модули/приложения за тях (достъпът зависи от роля и права на потребителя).
- Планирано е добавяне на раздел с VNC конзола за виртуалните машини. За някои типове ресурси ще бъдат добавени специални раздели/поля (например, за KubeVirt-VM).
- Стабилизиран е механизмът за управление на ресурсите за tenent-ите на Cozystack. Администраторите на платформата вече могат да задават явни лимити на CPU, памет и хранилище за всеки tenant-namespace в спецификацията на tenent-а. По този начин никой от tenent-ите не може да 'поеме' всичко, оставяйки другите tenent-и без ресурси.
- Добавен компонент Kube-OVN Plunger за непрекъснато проследяване на състоянието на централния управляващ клъстер на мрежата Kube-OVN. Външният агент събира статус на кластера OVN и информация за консенсуса, показва метрики Prometheus и поток събития чрез SSE (Server-Sent Events).
- Допълнението CoreDNS сега се разгръща чрез Helm чарт и се настройва в спецификацията на клъстера (автомасштабиране, брой реплики, служебен IP и др.). CoreDNS може да се конфигурира както в таблото за управление, така и чрез API Cozystack.
- S3 хранилището на база SeaweedFS стана по-гъвкаво на ниво компоненти. Helm чартът позволява независимо настройване на всеки компонент и неговите ресурси: master възли, volume сървъри (с поддръжка на множество зони), база данни и S3 шлюз. Администраторите могат да задават за всеки компонент броя на репликите, лимитите за CPU/памет и обема на хранилището.
- Интегрирана е ФС SeaweedFS 3.97 с поддръжка на сървърно криптиране на бакетите S3 (SSE-C, SSE-KMS, SSE-S3). При обновление на Cozystack версията на SeaweedFS ще бъде актуализирана, а спецификацията на услугите автоматично преобразувана в нов формат.
- NGINX контролерът сега се настройва на ниво на всяка реплика: може да се задават заявки/лимити на CPU и паметта директно или да се избере един от готовите пресети.
- Ако на виртуалната машина е назначен външен IP, той винаги се използва за egress трафик, независимо от метода на назначаване на този IP.
Източник: opennet.ru

