VÀlja on antud Cozystack 0.33 avatud PaaS-platvorm, mis on loodud Kubernetes'i baasil. Projekt keskendub valmis platvormi pakkumisele hostimisettevÔtjatele ning raamistiku loomisele era- ja avalike pilvede jaoks. Platvorm installitakse otse serveritesse ja katab kÔik infrastruktuuri ettevalmistamise aspektid hallatud teenuste pakkumiseks. Cozystack vÔimaldab kÀivitada ja pakkuda Kubernetes'e klastreid, andmebaase ja virtuaalmasinaid. Platvormi kood on saadaval GitHubis ja levitatakse Apache-2.0 litsentsi alusel.
Baastehnoloogiatehnikapakkumises kasutatakse Talos Linuxi ja Flux CD-d. OpsĂŒsteemi, tuuma ja vajalike moodulite pildid luuakse eelnevalt ja uuendatakse atomaarsetel pĂ”himĂ”tetel, mis vĂ”imaldab vĂ€ltida selliste komponentide nagu dkms ja paketihalduri kasutamist ning tagada stabiilne töö. Pakutakse lihtsat meetodit paigaldamiseks tĂŒhjas andmekeskuses PXE ja debian-taolise talos-bootstrap paigaldaja abil. Platvormil on vĂ”imalik hiireklikkimisega juurutada Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics ja muid teenuseid.
Platvorm hĂ”lmab avatud rakendust vĂ”rguinfrastruktuuri (fabric) Kube-OVN baasil ja kasutab Cilium'i teenuste vĂ”rgustiku korraldamiseks, MetalLB teenuste vĂ€lise aneerimise tĂ”hustamiseks. Andmesalvestus on teostatud LINSTOR'i kaudu, kus pakutakse ZFS'i kasutamist andmesalvestuse alussĂŒsteemina ja DRBD replikatsiooniks. Kohandatud jĂ€lgimistehnoloogia pakub VictoriaMetrics ja Grafana baasil. Virtuaalmasinate kĂ€ivitamiseks kasutatakse KubeVirt tehnoloogiat, mis vĂ”imaldab kĂ€ivitada klassikalisi virtuaalmasinaid otse Kubernetes'i konteinerites ning on juba integreeritud Cluster API-ga hallatavate Kubernetes'i klastrite kĂ€ivitamiseks 'fĂŒĂŒsilises' Kubernetes'i klastris.
Viimase pooleteise kuu jooksul on projekti meeskond vÀlja andnud uusi versioone 0.31, 0.32 ja 0.33. Nende vÀljaannete muudatuste hulka kuuluvad:
- Keskne juhtimine CPU ja mĂ€lu ressursside eraldamiseks on ĂŒhtlustatud. Lisatud on ĂŒhtsed konfigureerimismuutujad cpu-allocation-ratio ja memory-allocation-ratio, et piiritleda CPU ressursse ja mĂ€lu tarbimist KubeVirt'i halduses olevates virtuaalmasinates. Muutujad kehtivad kĂ”igi hallatavate rakenduste ja tenant'ide ressursside kvootide kohta. EeltĂ€idetud seaded arvestavad ka ressursside eraldamise koefitsiente ja kĂ€ituvad sarnaselt selgesĂ”nalistele ressursside mÀÀratlemisele. Uuendamisel varasemast Cozystack'i versioonist konverteeritakse haldatud rakenduste ressursside konfiguratsioon automaatselt uude vormingusse.
- Tenant'ite Kubernetes'i klastrites on lisatud PVC varundamise funktsioon, mis vĂ”imaldab platvormi ja individuaalsete tenant'ite administraatoritel luua varukoopiaid ja taastada klastrites töötavate teenuste andmeid. Varundamiseks on kasutusele vĂ”etud projekt Velero ning sĂŒsteem vajab vĂ€lise S3-ĂŒhilduva salvestusruumi.
- Tugem on rakendatud liidusega NFS salvestusruumide kasutamise toetamine uue valikulise sĂŒsteemimooduliga.
- Lisatud on vÔimalus seadistada virtuaalmasinatele saadaval olevad CPU sokid parameetri resources.cpu.sockets kaudu, mis vÔimaldab mÀÀrata virtuaalmasinatele konkreetseid sokke.
- Toetatakse eelnevalt laaditud kuldne kujutisi virtuaalmasinate jaoks, kiirendades ettevalmistust, kasutades viiteid olemasolevatele kujutistele HTTP kaudu allalaadimise asemel.
- Implementitud on vÔimalus exposeMethod Ingress-NGINX-is tenant'ite klastrites, mis vÔimaldab valida Proxied ja LoadBalancer.
- Paranenud tugi Java rakendustele: âheapâ parameetrid arvutatakse nĂŒĂŒd lĂ€htudes pĂ€ringutest ja mĂ€lu piiridest.
- Standardse paketihaldur on vahetatud â Helmi asemel on nĂŒĂŒd kasutusel uus utiliit cozypkg (Helmi ja Flux ĂŒmberpakendamiseks kohalikuks arendamiseks).
- Lisatud HelmRelease'i sĂŒnkronisaator sĂŒsteemikomponentidele, mis tagab automaatse kontrolli vĂ”tme konfiguratsioonimuudatuste ĂŒle sĂŒsteemirakenduste Ă”igeaegseks uuendamiseks.
- Lisatud registry mirror toetus tenant-teenustega Kubernetes-klastrites, seadistades containerd tenant-teenuste klastritele.
- Teostatud rakenduste alamsiisakute ĂŒhtne mĂ€rgistamine seireks WorkloadMonitors'i kaudu.
- Lisatud cluster-domain valik cozy.local domeeni ĂŒlevĂ”tmiseks.
- RBAC reeglid on lisatud KubeVirti portide edastamiseks (SSH virtctl kaudu).
- SĂŒndmuste kogumine ja auditilogide funktsioon on sisse lĂŒlitatud.
- Teostatud PostgreSQL varukoopia / taastamise funktsionaalsus.
- Lisatud uus tööriist cozyreport ja tagatud aruannete kogumine CI-s. NĂŒĂŒd salvestatakse kogu diagnostika teave kogumisarhitektidena.
- Komponendid on uuendatud: cozykpg v1.1.0, flux-operator 0.23.0, Flux 2.6.x, Talos Linux v1.10.3, Cilium 1.17.4, MetalLB 0.15.2, Kube-OVN 1.13.13, cozy-proxy 0.2.0, Kafka Operator 0.45.1-rc1.
- Antud vÔimalus paigaldada Talos Air Gap -keskkondadesse.
- Lisatud GPU tugi tenant-teenustega Kubernetes-klastrite jaoks. Platvormi kasutajad saavad kÀivitada GPU töösuundi nii virtuaalmasinates kui ka Kubernetes-klastrites.
- Tagatud ARM arhitektuuri beetatugi (rist-arhitektuuri kogumine). Kogumise sĂŒsteem on ĂŒmber tehtud mitme arhitektuuri binaarfailide ja konteinerite kuvandite toetamiseks.
- Vertikaalne Pod Autoscaler (VPA) on laienenud, mis on sisse lĂŒlitatud suuremale osale Cozystack'i komponentidest ja vĂ”imaldab automaatset ressursside kohandamist. EelkĂ”ige on VPA lisatud management plane tenant-teenustega klastritele. halduspaneelid Cozystack ja etcd-operator. KĂ”ik Cozystack'i komponendid, kus on aktiveeritud VPA, saavad automaatselt kohandada oma CPU ja mĂ€lu pĂ€ringute alusel oma kasutamise jĂ€rgi, mis suurendab stabiilsust.
- Gateway API tugi on lisatud Ciliumisse, vÔimaldades kasutada laiendatud L4 / L7 marsruutimise funktsioone Kubernetes Gateway API kaudu.
- Antud vÔimalus lisada enda parameetreid Cilium'i konfiguratsioonides tenant-teenustega klastrite jaoks.
- Tenant HelmRelease Reconcile kontrolleris on tagatud konfiguratsiooni muudatuste levitamine tenant-ide töökoormustele (garanteerib, et iga tenant'is mÀÀratud HelmRelease on sĂŒnkroniseeritud platvormi uuendustega).
- Lisatud vĂ”imalus seadistada CPU jaotuse koefitsienti KubeVirtis (kuidas virtuaalsed CPU-d on fĂŒĂŒsilistega seotud) configmapi kaudu vÀÀrtuse cpu-allocation-ratio kaudu. Administraatorid saavad konfigureerida CPU ĂŒleskoormust virtuaalmasinate jaoks, sĂ€ilitades vajaliku tasakaalu tulemuslikkuse ja tiheduse vahel.
- Tehtud KubeVirti virtuaalmasinate eksportimise vÔimalus. Funktsioon töötab lÀbi VirtualMachineExporti KubeVirtis ja vÔimaldab kasutajatel luua virtuaalmasinate kujutiste snapshot'e vÔi varukoopiaid.
- Tagatud erinevate salvestusklasside (storage classes) tugi virtuaalmasinatele. Rakendus virtual-machine vĂ”imaldab valida mis tahes StorageClass'i virtuaalmasina sĂŒsteemiajastamiseks, mitte kasutada staatiliselt mÀÀratud PVC-d (vt vÀÀrtused systemDisk.storage ja systemDisk.storageClass rakenduse konfiguratsioonis).
Allikas: opennet.ru
