Cozystack 0.37 versioon, mis põhineb Kubernetesel, on nüüd saadaval. Projekt on suunatud funktsionaalse platvormi pakkumisele hostimisteenuste pakkujatele ja raamistiku loomisele privaatsete ja avalike pilvede jaoks. Platvorm paigaldatakse otse serveritesse ning katab kõik aspektid infrastruktuuri ettevalmistamisest hallatud teenuste pakkumiseks. Cozystack võimaldab käivitada ja hallata Kubernetes klastreid, andmebaase ja virtuaalseid masinaid. Platvormi kood on saadaval GitHubis ja levitatakse Apache-2.0 litsentsi alusel.
Põhitehnoloogiate stackina kasutatakse Talos Linuxi ja Flux CD-d. Süsteemi, tuuma ja vajalike moodulite pildid luuakse ette ja uuendatakse atomaarsete meetoditega, mis võimaldab vältida komponentide nagu dkms ja pakihalduri kasutamist ning tagab stabiilse töö. Pakutakse lihtsat paigaldusmeetodit tühjas andmekeskuses PXE ja debian-tüüpi installijaga talos-bootstrap abil. Platvormi raames on võimalik ühe klikiga käivitada Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics ja teisi teenuseid.
Platvorm hõlmab avatud rakenduse lahendust võrguinfrastruktuuri (fabric) Kube-OVN põhjal ning kasutab Cilium'i teenuste võrgu organiseerimiseks ja MetalLB-d teenuste väljastamiseks. Andmesalvestus on teostatud LINSTOR'i peal, kus ZFS kasutatakse salvestusbaasina ja DRBD replikatsiooniks. Saadaval on eelkonfigureeritud jälgimistehnoloogia, mis põhineb VictoriaMetrics'il ja Grafanal. Käivitamiseks virtuaalmasinad kasutatakse KubeVirt'i tehnoloogiat, mis võimaldab käivitada klassikalisi virtuaalmasinaid otse Kubernetes konteinerites ning omab juba kõiki vajalikke integratsioone Cluster API-ga hallatavate Kubernetes-klastrite käivitamiseks ‘raudvars’ Kubernetes-klastri sees.
Viimase pooleteise kuu jooksul on projekti meeskond välja andnud uusi versioone 0.36 ja 0.37. Nende versioonide muudatuste seas:
- Kasutajaliides on kirjutatud nullist ümber. Aluseks on võetud openapi-ui projekt.

- Kasutajaliideses on nüüd klastrivaliku tööriist. Praegu töötab armatuurlaud ühe klastriga (iga klastriga üks armatuurlaud). Tulevikus kasutatakse sama liideseid mitme klastriga režiimi jaoks.
- Klastri ekraanil on nüüd kohe nähtavad kõik saadaval olevad ruumid. Loend moodustatakse Kubernetes’i agregatsioonikihi (tenanti nimekirja) kaudu, seega kuvatakse ainult need ruumid, millele on ligipääs.
- Resursside loomine toimub nüüd vormide kaudu, mis on automaatselt genereeritud Kubernetes’i OpenAPI-st. YAML-i kommentaare ei ole vaja: väljad ja valideerimine võetakse otse spetsifikatsioonidest.
- Uute rakenduste spetsifikatsioon moodustatakse Helm-diagrammide abil cozy-values generaatori kaudu, ning vormis sisestatud väljad peegeldavad sünkroonselt lõplikus YAML-is.
- Tenentide haldamise moodulid on kolitud haldamise sektsiooni: siin on võimalik luua subtenente ja määrata neile spetsiifilisi mooduleid/rakendusi (ligipääs sõltub kasutaja rollist ja õigustest).
- On plaanis lisada vahekaart VNC-konsooliga virtuaalmasinate jaoks. Teatud ressursitüüpide jaoks lisatakse spetsiaalsed vahekaardid/väljad (näiteks KubeVirt-VM-ide jaoks).
- Cozystacki tenant-ide ressursihaldusmehhanism on stabiliseeritud. Platvormi administraatorid saavad nüüd igale tenant-nimespetsiifikale määrata selged CPU, mälumahtu ja salvestusruumi piirangud. Seega ei saa ükski tenant "enda alla neelata" kõiki ressursse, jättes teised tenant-id ilma.
- Kube-OVN Plunger komponent on lisatud, et pidevalt jälgida Kube-OVN võrgu keskse haldusklastri olekut. Väline agent kogub OVN klastri oleku ja konsensuse teavet, kuvab Prometheuse mõõdikud ja sündmuste voogu läbi SSE (serveri saadetud sündmused).
- CoreDNS täiendust rakendatakse nüüd Helm-diagrammi kaudu ja selle seadistamine toimub klastri spetsifikatsioonis (automaatne skaleerimine, replikate arv, teenuse IP jne). CoreDNS-i saab konfigureerida nii armatuurlaudalt kui ka Cozystacki API kaudu.
- SeaweedFS-põhine S3-salvestus on komponentide tasemel muutunud paindlikumaks. Helm-diagramm võimaldab iga komponendi ja selle ressursside sõltumatut seadistamist: master-sõlmed, maht-serverid (mitme tsooni toega), andmebaas ja S3-äravool. Administraatorid saavad määrata iga komponendi jaoks replikate arvu, CPU/mälu piirangud ja salvestusruumi mahud.
- Integreeritud on SeaweedFS 3.97, mis toetab S3-põhiste anumate serveripoolset krüptimist (SSE-C, SSE-KMS, SSE-S3). Cozystacki uuendamisel värskendatakse ka SeaweedFS-i versioon ja teenuseid vastavad automaatselt uuele formaadile.
- NGINX-i kontrollijat saab nüüd seadistada iga koopiana: saab otseselt määrata CPU ja mälu nõudmisi/piiranguid või valida valmis eelseade.
- Kui virtuaalmasinale on määratud väline IP, kasutatakse seda alati egress-liikluseks, sõltumata sellest, kuidas see IP on määratud.
Allikas: opennet.ru

