Na voljo je izdajanje odprte PaaS platforme Cozystack 0.33, zgrajene na Kubernetes. Projekt je usmerjen v zagotavljanje pripravljene platforme za ponudnike gostovanja in okvirja za gradnjo zasebnih in javnih oblakov. Platforma se namesti neposredno na strežnike in pokriva vse vidike priprave infrastrukture za zagotavljanje upravljanih storitev. Cozystack omogoča zagon in zagotavljanje Kubernetes grozdov, baz podatkov in virtualnih strojev. Koda platforme je na voljo na GitHubu in se distribuira pod licenco Apache-2.0.
Osnovni tehnološki stog koristi Talos Linux i Flux CD. Slike sa sistemom, jezgrom i potrebnim modulima se unapred formiraju i ažuriraju atomarno, što omogućava da se izbegnu takve komponente kao što su dkms i upravljač paketa, a garantuje stabilan rad. Pruža se jednostavna metoda instalacije u praznom datacentru uz pomoć PXE i debian-sličnog instalatera talos-bootstrap. U okviru platforme moguće je jednim klikom instalirati Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics i druge usluge.
Platforma vključuje prosto implementacijo omrežne infrastrukture (fabric) na osnovi Kube-OVN in uporablja Cilium za organizacijo servisne mreže, MetalLB za napovedovanje storitev navzven. Shranjevanje je realizirano na LINSTOR, kjer je predlagano uporabo ZFS kot osnovnega sloja za shranjevanje in DRBD za replikacijo. Na voljo je prednastavljen nadzorni sklop na osnovi VictoriaMetrics in Grafana. Za zagon virtualnih strojev se uporablja tehnologija KubeVirt, ki omogoča zagon klasičnih virtualnih strojev neposredno v Kubernetes kontejnerjih in že ima vse potrebne integracije s Cluster API za zagon upravljanih Kubernetes grozdov znotraj 'železnega' Kubernetes grozda.
V zadnjih desetih dneh je ekipa projekta izdala nove različice 0.31, 0.32 in 0.33. Med spremembami v teh izdajah so:
- Uskladitev upravljanja dodeljevanja virov CPU in pomnilnika. Dodane so enotne spremenljivke konfiguracije cpu-allocation-ratio in memory-allocation-ratio za omejevanje virov CPU in porabe pomnilnika v virtualnih strojih, ki jih upravlja KubeVirt. Spremenljivke se uporabljajo za vse upravljane aplikacije in kvote virov najemnikov. Prednastavitve prav tako upoštevajo koeficiente dodeljevanja virov in se obnašajo enako kot jasne opredelitve virov. Pri posodabljanju iz prejšnjih različic Cozystack se konfiguracija virov v upravljanih aplikacijah samodejno pretvori v nov format.
- Dodana je funkcija varnostne kopije PVC v najemniških Kubernetes grozdih, ki omogoča skrbnikom tako celotne platforme kot posameznih najemnikov, da ustvarijo varnostne kopije in obnavljajo podatke zagnanih storitev v grozdih. Za varnostno kopiranje se uporablja projekt Velero, sistem pa zahteva zunanje shranjevanje, združljivo s S3.
- Implementirana je podpora za uporabo skupnih NFS shranjevanj z novim opcijskim sistemskim modulom.
- Dodana je možnost nastavitve razpoložljivih CPU vtičnic za virtualne stroje prek parametra resources.cpu.sockets, kar omogoča dodeljevanje določenih vtičnic virtualnim strojema.
- Dodana je podpora za uporabo prednalaganih zlatega slik za virtualne stroje, kar pospeši pripravo z referencami na obstoječe slike namesto prenosa prek HTTP.
- Izvedena je možnost exposeMethod za Ingress-NGINX v najemniških grozdih, ki omogoča izbiro med Proxied in LoadBalancer.
- Izboljšana podpora za Java aplikacije: parametri 'heap' se zdaj izračunavajo na podlagi zahtevkov in omejitev pomnilnika.
- Stardni menedžer paketa je zamenjen — nova alatka cozypkg (obloga oko Helma i Fluxa za lokalni razvoj) je sada u upotrebi.
- Dodavan je sinhronizator HelmRelease za sistemske komponente, koji obezbeđuje automatsko praćenje ključnih izmena konfiguracije za pravovremeno ažuriranje sistemskih aplikacija.
- Dodata je podrška za registry mirror u tenant Kubernetes klasterima, koja konfiguriše containerd za tenant klastere.
- Implementirana je jedinstvena oznaka podobjekata aplikacija za praćenje putem WorkloadMonitors.
- Dodana je opcija cluster-domain za prepisivanje domene cozy.local.
- Dodata su RBAC pravila za prosleđivanje portova u KubeVirt (SSH putem virtctl).
- Uključeno je prikupljanje događaja i audit logova.
- Implementirano je pravljenje rezervnih kopija i obnova PostgreSQL.
- Dodana je nova alatka cozyreport i obezbeđen je prikupljanje izveštaja u CI. Sada se sve dijagnostičke informacije čuvaju kao artefakti gradnje.
- Ažurirani su komponente: 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.
- Omogućena je instalacija Talosa u Air Gap okruženjima.
- Dodata je podrška za GPU u tenant Kubernetes klasterima. Korisnici platforme mogu pokretati GPU workloade kako u virtuelnim mašinama, tako i u Kubernetes klasterima.
- Obezbeđena je beta podrška za ARM arhitekturu (kros-arhitektonska gradnja). Sistem gradnje je preuređen da podrži multi-arhitektonske binarne datoteke i kontejnerske slike.
- Proširen je VerticalPodAutoscaler (VPA), koji je uključen za veći broj komponenti Cozystack i omogućava automatsku optimizaciju resursa. Konkretno, VPA je dodat za control plane tenant klastere. administracijski plošči Cozystack i etcd-operator. Sve komponente Cozystack sa uključenim VPA mogu automatski prilagoditi svoje zahteve za CPU i memoriju na osnovu njihove upotrebe, što poboljšava stabilnost.
- Dodata je podrška za Gateway API u Cilium, koja omogućava korišćenje naprednih funkcija usmeravanja L4/L7 preko Kubernetes Gateway API.
- Omogućena je opcija dodavanja sopstvenih parametara u konfiguracije Cilium za tenant klastere.
- U kontroleru Tenant HelmRelease Reconcile osigurano je širenje izmena konfiguracije na radne opterećenja tenant-a (garantuje da je svaki HelmRelease definisan u tenant-u sinhronizovan sa ažuriranjima platforme).
- Dodana je možnost nastavitve razmerja dodelitve CPU v KubeVirt (kako so virtualni CPU povezani s fizičnimi) prek vrednosti cpu-allocation-ratio v configmap. Administratorji lahko nastavijo overcommit CPU za virtualne stroje, ob upoštevanju potrebnega ravnotežja med zmogljivostjo in gostoto.
- Izveden je izvoz virtualnih strojev KubeVirt. Funkcija deluje preko VirtualMachineExport v KubeVirt in uporabnikom omogoča ustvarjanje posnetkov ali varnostnih kopij slik virtualnih strojev.
- Zagotovljena je podpora za različne razrede shranjevanja (storage classes) za virtualne stroje. Aplikacija virtual-machine omogoča izbiro kateregakoli StorageClass za sistemski disk virtualnega stroja namesto uporabe trdno določenega PVC (glej vrednosti systemDisk.storage in systemDisk.storageClass v konfiguraciji aplikacije).
Izvor: opennet.ru
