Dostupné vydání svobodné PaaS platformy Cozystack 0.22.0, postavené na Kubernetes. Projekt je zaměřen na poskytování hotové platformy pro poskytovatele hostingu a frameworku pro budování soukromých a veřejných cloudů. Platforma se instaluje přímo na servery a pokrývá všechny aspekty přípravy infrastruktury pro poskytování spravovaných služeb. Cozystack umožňuje spouštět a poskytovat clustery Kubernetes, databáze a virtuální stroje. Kód platformy je dostupný na GitHubu a je distribuován pod licencí Apache-2.0.
Jako základní technologický stack se používá Talos Linux a Flux CD. Obrazy systému, jádra a potřebných modulů jsou předem vytvářeny a aktualizovány atomárně, což umožňuje obejít se bez takových komponent jako je dkms a správce balíčků, a zaručuje stabilní provoz. Je nabízen jednoduchý způsob instalace v prázdném datovém centru pomocí PXE a debianovského instalátoru talos-bootstrap.
Platforma zahrnuje svobodnou implementaci síťové infrastruktury (fabric) založené na Kube-OVN, a používá Cilium pro organizaci servisní sítě, MetalLB pro vyhlášení služeb ven. Úložiště je realizováno na LINSTOR, kde je nabízeno použití ZFS jako základní vrstvy pro úložiště a DRBD pro replikaci. Je zde přednastavený monitorovací stack založený na VictoriaMetrics a Grafana. Pro spuštění virtuálních strojů se používá technologie KubeVirt, která umožňuje spouštět klasické virtuální stroje přímo v kontejnerech Kubernetes a již má všechny potřebné integrace s Cluster API pro spuštění spravovaných Kubernetes klastrů uvnitř „hardwarového“ Kubernetes klastru.
V nové verzi byl přidán cozystack-controller a nové entity: Workload a WorkloadMonitor – které umožňují sledovat stav podů spravovaných operátory a hodnotit úroveň služby podle předem stanovených pravidel. Aplikace v Cozystack jsou řízeny různými operátory, proto bylo rozhodnuto vytvořit jednotný formát pro zobrazení stavu každé služby.
Jak to funguje: Při nasazení aplikace se nainstaluje WorkloadMonitor, který sleduje stav podů podle selektoru. Jakmile se do selektoru dostane jeden z podů, vytvoří se pro něj nová entita Workload, která zobrazuje roli pro každý pod a jeho stav. Ve stavu WorkloadMonitor lze vidět počet existujících replik a minimální počet replik potřebných k obsluze služby. Jakmile zatížení (workload) klesne pod hodnotu minReplicas pro WorkloadMonitor, je služba označena jako nefunkční (non-operational).
Pro aplikace, kterým nelze přiřadit přesnou hodnotu minReplicas (například workerové Kubernetes mohou škálovat automaticky), byla realizována možnost vůbec nenastavit tuto hodnotu v WorkloadMonitor. V tomto případě bude WorkloadMonitor jednoduše počítat celkový počet spuštěných instancí.
Tento mechanismus umožňuje používat jakékoliv operátory a mechanismy řízení podů v Kubernetes a snadno rozšiřovat platformu, přičemž poskytuje jednotné rozhraní pro zobrazení aktuálního stavu služby.
WorkloadMonitor pro sběr informací o replikách a jejich funkčnosti byl přidán do aplikací Kubernetes, Postgres, Monitoring, VirtualMachine, VMInstance, Redis, etcd a SeaweedFS. Dashboard Cozystack nyní zobrazuje počet replik aplikace a úroveň služby pro každou skupinu Workload.
Další změny:
- Byly realizovány a publikovány klient a server telemetrie pod licencí Apache 2.0. Sběr metrik pro telemetrii probíhá podle doporučení „LF Telemetry Data Collection and Usage Policy“ a lze jej vypnout pomocí možnosti „telemetry-enabled: false“ v konfiguraci Cozystack. Samotná data jsou anonymní a zcela anonymizovaná. V příštích verzích platformy se plánuje vytvoření veřejného Dashboardu na základě telemetrických dat.
- Byl aktualizován komponent cluster-autoscaller pro Kubernetes, stejně jako jeho nastavení, které umožňují efektivnější škálování clusterů nahoru i dolů.
- Byl aktualizován soubor MAINTAINERS, který uvádí účastníky projektu a oblasti jejich zodpovědnosti.
- Do Cozystack byla přidána servisní aplikace builder, která umožňuje sestavení platformy přímo v Kubernetes.
- Pro databázi VictoriaMetrics byla přidána možnost specifikovat vlastní parametry a zvýšena výchozí omezení.
- Pro Grafanu a Alertu byl implementován sběr metrik z databází.
- Byly přidány upozornění o stavu virtuálních strojů a postgres clusterů.
- Pro KubeVirt byla nastavena sběr metrik a přidán Grafana dashboard.
- Do konfigurace Cozystack byla přidána možnost extra-keycloak-redirect-uri-for-dashboard, která umožňuje nastavit další přesměrování pro Keycloak.
- V VMInstance byla opravena chyba, která blokovala připojení VMdisků k virtuálním strojům.
- Byly aktualizovány 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.
Zdroj: opennet.ru
