Достъпен е новият вариант на PaaS платформата Cozystack 0.22.0, изградена на базата на Kubernetes. Проектът е насочен към предоставяне на готова платформа за хостинг доставчици и рамка за изграждане на частни и публични облаци. Платформата се инсталира директно на сървъри и обхваща всички аспекти на подготовката на инфраструктурата за предоставяне на управлявани услуги. Cozystack позволява стартиране и предоставяне на Kubernetes клъстери, бази данни и виртуални машини. Кодът на платформата е наличен в GitHub и се разпространява под лицензия Apache-2.0.
В качеството си на основен технологичен стек, се използва Talos Linux и Flux CD. Образите на системата, ядрото и необходимите модули се формират предварително и се обновяват атомарно, което позволява да се избегнат компоненти като dkms и пакетен мениджър, и гарантира стабилна работа. Осигурява се прост метод за инсталиране в празен дата-център чрез PXE и Debian-подобен инсталатор talos-bootstrap.
Платформата включва свободна реализация на мрежовата инфраструктура на 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. Dashboard на 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
