Издаване на Cozystack 0.22, отворена PaaS платформа, базирана на Kubernetes

На разположение е новото издание на свободната PaaS платформа Cozystack 0.22.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 клъстер.

В новата версия е добавен cozystack-controller и нови същности: Workload и WorkloadMonitor — които позволяват следене на състоянието на pod-овете, управлявани от операторите, и оценка на нивото на услугата по предварително определени правила. Приложенията в Cozystack се управляват от различни оператори, затова бе взето решение да се създаде единен формат за показване на статуса на всяка услуга.

Как работи: При разгръщането на приложението се инсталира и WorkloadMonitor, който следи състоянието на pod-овете по селектор. В момента, в който под селектора попада един от pod-овете, за него се създава нова единица Workload, която отразява ролята на всеки pod и неговото състояние. В статуса на WorkloadMonitor може да се види броят на съществуващите реплики и минималният брой реплики, необходим за обслужване на услугата. В момента, в който натоварването (workload) стане по-малко от стойността minReplicas за WorkloadMonitor, услугата се маркира като неработеща (non-operational).

За приложения, при които не може да се зададе точно значение на minReplicas (например, worker-и на Kubernetes могат да се мащабират автоматично), е реализирана възможност изобщо да не се задава това значение в WorkloadMonitor. В този случай WorkloadMonitor просто ще брои общия брой на стартираните инстанции.

Този механизъм позволява използването на всякакви оператори и механизми за управление на pod-овете в Kubernetes и лесно разширяване на платформата, предоставяйки единен интерфейс за показване на текущото състояние на услугата.

WorkloadMonitor за събиране на информация за репликите и техния работоспособност е добавен в приложенията Kubernetes, Postgres, Monitoring, VirtualMachine, VMInstance, Redis, etcd и SeaweedFS. Таблото на Cozystack сега показва броя на репликите на приложението и нивото на услугата за всяка група Workload.

Други промени:

  • Реализирани и публикувани под лицензия Apache 2.0 клиент и сървър за телеметрия. Събирането на метрики за телеметрия се извършва в съответствие с препоръките на «LF Telemetry Data Collection and Usage Policy» и може да бъде деактивирано с опцията «telemetry-enabled: false» в конфигурацията на Cozystack. Самите данни са анонимни и напълно обезличени. За следващите версии на платформата се планира изграждането на публичен Dashboard на база данни от телеметрия.
  • Компонентът cluster-autoscaller за Kubernetes е обновен, както и неговите настройки, които позволяват по-ефективно скалиране на клъстери, както нагоре, така и надолу.
  • Файлът MAINTAINERS е обновен, в който са изброени участниците, отговарящи за проекта, и сферите на тяхната отговорност.
  • В Cozystack е добавено сервисно приложение builder, което позволява интегрирането на платформата директно в Kubernetes.
  • За СУБД VictoriaMetrics е добавена възможност за задаване на собствени параметри и повишаване на зададените по подразбиране ограничения.
  • За Grafana и Alerta е реализирано събиране на метрики от бази данни.
  • Добавени са алерти за състоянието на виртуалните машини и postgres-кластерите.
  • За KubeVirt е настроено събиране на метрики и е добавен Grafana dashboard.
  • В конфигурацията на Cozystack е добавена опция extra-keycloak-redirect-uri-for-dashboard, която позволява настройка на допълнителни пренасочвания за Keycloak.
  • В VMInstance е коригирана грешка, блокираща свързването на VMdisks с виртуалните машини.
  • Обновени са Flux Operator 0.12.0, Flux Instance chart 0.12.0, Cilium 1.16.5, Kube-OVN 1.13.2, CNPG PostgreSQL Operator 1.25.0, Talos Linux 1.9.1.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster