Vydání Cozystack 0.22, otevřené PaaS platformy postavené na Kubernetes

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

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster