K dispozícii je vydanie bezplatnej PaaS platformy Cozystack 0.40, postavenej na Kubernetes. Projekt je zameraný na poskytovanie hotovej platformy pre hostingových poskytovateľov a rámca na vytváranie privátnych a verejných cloudov. Platforma sa inštaluje priamo na servery a pokrýva všetky aspekty prípravy infraštruktúry na poskytovanie spravovaných služieb. Cozystack umožňuje spúšťať a poskytovať klastre Kubernetes, databázy a virtuálne stroje. Kód platformy je k dispozícii na GitHub a je distribuovaný pod licenciou Apache-2.0.
Ako základný technologický stack sa používa Talos Linux a Flux CD. Obrazy so systémom, jadrom a potrebnými modulmi sa vytvárajú vopred a aktualizujú sa atomárne, čo umožňuje obísť také komponenty ako dkms a balíkový manažér a zaručiť stabilnú prevádzku. Poskytuje sa jednoduchá metóda inštalácie v prázdnom dátovom centre pomocou PXE a debian-podobného inštalátora talos-bootstrap. V rámci platformy je možné jedným kliknutím rozšíriť Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics a ďalšie služby.
Platforma obsahuje bezplatnú implementáciu sieťovej infraštruktúry (fabric) na báze Kube-OVN a používa Cilium na organizáciu servisnej siete, MetalLB na oznámenie služieb von. Úložisko je realizované na LINSTOR, kde sa ponúka použitie ZFS ako základnej vrstvy pre úložisko a DRBD pre replikáciu. Je k dispozícii prednastavený monitorovací stack na báze VictoriaMetrics a Grafana. Na spustenie virtuálnych strojov sa používa technológia KubeVirt, ktorá umožňuje spúšťať klasické virtuálne stroje priamo v kontajneroch Kubernetes a už má všetky potrebné integrácie s Cluster API na spustenie spravovaných Kubernetes klastrov v rámci „železného“ Kubernetes klastru.
V novom vydaní:
- Bol pridaný plánovač LINSTOR pre optimálne umiestnenie pod-ov. Vlastný „scheduler extender“ pre Kubernetes funguje spolu so štandardným plánovačom Kubernetes a pomáha optimálne umiestniť pod-y na uzloch s úložiskom LINSTOR. Keď pod požaduje objem LINSTOR, plánovač zisťuje od kontroléra LINSTOR, na ktorých uzloch sú miestne repliky požadovaných objemov. Prednosť sa dáva uzlom, kde sú dáta už prítomné, čo minimalizuje sieťovú prevádzku a zvyšuje I/O výkon. Navyše bol implementovaný admission-webhook, ktorý automaticky smeruje pod-y využívajúce CSI objemy LINSTOR na vlastný plánovač, zabezpečujúci bezproblémovú integráciu bez ručnej konfigurácie.
- Úložisko SeaweedFS SeaweedFS bol aktualizovaný na verziu 4.05, v ktorej bola optimalizácia S3 prevádzky (traffic locality): požiadavky teraz idú na najbližšie servery, čo skracuje oneskorenia a zvyšuje výkon úložiska. Taktiež sa objavila nová admin-komponenta s webovým rozhraním a podporou autorizácie a worker-y na vykonávanie distribuovaných úloh. Do Grafany boli pridané pokročilé dashboardy, ktoré umožňujú sledovať bucket-y, volania API a výkon. Bola pridaná podpora TLS-certifikátov pre komponenty admin a worker.
- Mechanizmus valuesFrom z FluxCD nahradil lookup funkcie v Helm grafoch. Toto architektonické zlepšenie zabezpečuje čistejší prenos parametrov a odstraňuje potrebu kontrolérov povinnej synchronizácie (reconciliation). Konfigurácia z ConfigMaps a odkazy na služby sú teraz centralizovane spravované cez kľúč cozystack-values v každom mennom priestore.
- V komponentoch pre integráciu s LINSTOR bola implementovaná podpora funkcie auto-diskful, ktorá premieňa bezdiskové (diskless) uzly na diskové (diskful), ak držia zdroje DRBD v stave Primary dlhšie ako 30 minút.
- Boli zavedené automatizované systémy správy verzií pre PostgreSQL, Kubernetes, MariaDB a Redis, ktoré sledujú aktualizácie v upstream repozitároch a poskytujú mechanizmy na automatické aktualizovanie verzií.
Zdroj: opennet.ru
