Platforma e lëshuar e PaaS Cozystack 0.33, e ndërtuar mbi Kubernetes. Projekte synon të ofrojë një platformë të gatshme për ofruesit e hostimit dhe një kuadër për ndërtimin e mjeteve të cloud-it privat dhe publik. Platforma instalohet drejtpërdrejt në serverë dhe përfshin të gjitha aspektet e përgatitjes së infrastrukturës për ofrimin e shërbimeve të menaxhuara. Cozystack lejon nisjen dhe ofrimin e grupeve Kubernetes, bazave të të dhënave dhe makinave virtuale. Kodi i platformës është në dispozicion në GitHub dhe shpërndahet nën licencën Apache-2.0.
Si një bazë teknologjike përdoret Talos Linux dhe Flux CD. Imazhet me sistemin operativ, bërthamën dhe modulat e nevojshme formohen paraprakisht dhe përditësohen në mënyrë atomike, gjë që lejon të anashkalohen komponentët si dkms dhe menaxheri i pakove, duke garantuar funksionim stabil. Ofrohet një metodë e thjeshtë instalimi në një qendër të dhënash bosh me anë të PXE dhe instaluesit talos-bootstrap të ngjashëm me debian. Brenda platformës, mund të zhvilloni me një klikim Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics dhe shërbime të tjera.
Platforma pĂ«rfshin njĂ« implementim tĂ« lirĂ« tĂ« infrastrukturĂ«s rrjetore (fabric) bazuar nĂ« Kube-OVN, dhe pĂ«rdor Cilium pĂ«r organizimin e rrjetit tĂ« shĂ«rbimeve, MetalLB pĂ«r shpalljen e shĂ«rbimeve nĂ« jashtĂ«. Ruajtja Ă«shtĂ« realizuar nĂ« LINSTOR, ku ofrohet pĂ«rdorimi i ZFS si njĂ« shtresĂ« bazĂ« pĂ«r ruajtje dhe DRBD pĂ«r replikim. Ka njĂ« grumbull tĂ« parakonfiguruar tĂ« monitorimit tĂ« bazuar nĂ« VictoriaMetrics dhe Grafana. PĂ«r nisjen e makinave virtuale pĂ«rdoret teknologjia KubeVirt, e cila lejon nisjen e makinave virtuale klasike direkt nĂ« kontejnerĂ«t Kubernetes dhe tashmĂ« ka tĂ« gjitha integrimet e nevojshme me Cluster API pĂ«r nisjen e klasterĂ«ve Kubernetes tĂ« menaxhuar brenda klasterit tĂ« âhardueritâ Kubernetes.
Në muajt e fundit, ekipi i projektit ka lëshuar versione të reja 0.31, 0.32 dhe 0.33. Ndër ndryshimet në këto lëshime:
- Menaxhimi i alokimit të burimeve CPU dhe memories është unifikuar. Jane shtuar variabla të vetme konfigurore cpu-allocation-ratio dhe memory-allocation-ratio për të kufizuar burimet CPU dhe konsumin e memories në makinat virtuale nën menaxhimin e KubeVirt. Variablat aplikohet për të gjitha aplikacionet dhe kuotat burimore të tenant-ëve. Parapërcaktimet gjithashtu marrin parasysh faktorët e alokimit të burimeve dhe sillet si përkufizime të qarta burimesh. Kur përditësohet nga versione më të hershme të Cozystack, konfigurimi i burimeve në aplikacionet e menaxhuara konvertohet automatikisht në formatin e ri.
- Funksioni i kopjimit rezervë PVC është shtuar në klasteret Kubernetes të tenant-ëve, duke lejuar administratorët e gjithanshëm dhe të veçantë të tenant-ëve të krijojnë kopje rezervë dhe të rivendosin të dhënat e shërbimeve të lansuara në klastere. Për kopjimin përdoret projekti Velero, dhe vetë sistemi kërkon një depo të jashtme përputhëse me S3.
- Mbështetje e realizuar për përdorimin e depozita NFS të përbashkëta me një modul sistemik opsional të ri.
- Shtimi i mundësisë për të konfiguruar soket e CPU të disponueshme për makinat virtuale nëpërmjet parametrave resources.cpu.sockets, duke lejuar asignimin e soketeve specifike për makinat virtuale.
- Shtuar mbështetje për përdorimin e imazheve të para-rëna golden për makinat virtuale, duke përshpejtuar përgatitjen përmes lidhjeve me imazhet ekzistuese në vend që të shkarkohen përmes HTTP.
- Optimi i eksponimit për Ingress-NGINX në klastere tenant-ësh është realizuar, i cili lejon zgjedhjen e Proxied dhe LoadBalancer.
- MbĂ«shtetje e pĂ«rmirĂ«suar pĂ«r aplikacionet Java: parametrat âheapâ tani llogariten nĂ« bazĂ« tĂ« kĂ«rkesave dhe limitimeve tĂ« memories.
- Menaxheri standard i paketave është zëvendësuar - në vend të Helm tani përdoret një utilitar i ri cozypkg (një mbështjellës rreth Helm dhe Flux për zhvillim lokal).
- Shtuar një sinkronizues HelmRelease për komponentët sistemikë, që siguron kontroll të automatik mbi ndryshimet kyçe të konfigurimit për përditësimin e kohës në aplikacionet sistemike.
- Mbështetje e shtuar për mirror-in e regjistrit në klasteret Kubernetes të tenant-ëve, duke konfiguruar containerd për klasteret e tenant-ëve.
- Realizuar një markim të përbashkët për objektet e aplikacioneve për monitorim përmes WorkloadMonitors.
- Shtuar opsioni cluster-domain për të rivendosur domenin cozy.local.
- Shtuar rregulla RBAC për kalimin e porteve në KubeVirt (SSH përmes virtctl).
- Mblidhen ngjarje dhe audit log-e.
- Realizuar kopjimi/rivendosja për PostgreSQL.
- Shtuar mjetin e ri cozyreport dhe siguruar mbledhjen e raporteve në CI. Tani e gjithë informacioni diagnostik ruhet si artefakte ndërtimi.
- Përditësuar komponentët: 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.
- Siguruar mundësinë e instalimit të Talos në ambientet Air Gap.
- Mbështetje e shtuar për GPU në klasteret Kubernetes të tenant-ëve. Përdoruesit e platformës mund të nisin GPU- workloads si në makinat virtuale ashtu edhe në klasteret Kubernetes.
- Siguruar mbështetje beta për arkitekturën ARM (ndërtim ndër-arkitekturor). Sistemi i ndërtimit është riparuar për të mbështetur blloqet e binarëve dhe imazheve të konteinerëve multi-arkitekturale.
- Zgjeruar VerticalPodAutoscaler (VPA), e cila është e aktivizuar për më shumë komponentë të Cozystack dhe lejon automatikisht rregullimin e burimeve. Në veçanti, VPA është shtuar për klasteret e planeve të kontrollit të tenant-ëve, paneli i menaxhimit Cozystack dhe etcd-operator. Të gjitha komponentët e Cozystack me VPA të aktivizuar mund të rregullojnë automatikisht kërkesat e tyre për CPU dhe memorie në bazë të përdorimit të tyre, duke rritur stabilitetin.
- Mbështetje për Gateway API në Cilium, duke lejuar përdorimin e funksioneve të avancuara të ruter L4/L7 përmes Kubernetes Gateway API.
- Siguruar mundësinë e shtimit të parametrave të özën në konfigurimet Cilium për klasteret e tenant-ëve.
- Në kontrollorin Tenant HelmRelease Reconcile është siguruar shpërndarja e ndryshimeve të konfigurimit në ngarkesat e punës të tenant-ëve (garanton që çdo HelmRelease, e caktuar në tenant, është e sinkronizuar me përditësimet e platformës).
- Shtuar mundësinë e vendosjes së koeficientit të alokimit të CPU në KubeVirt (së si CPU virtuale lidhen me ato fizike) përmes vlerës cpu-allocation-ratio në configmap. Administratorët mund të rregullojnë overcommit CPU për makinat virtuale, duke mbajtur një ekuilibër të nevojshëm midis performancës dhe densitetit.
- Zhvilluar eksporti i makinave virtuale KubeVirt. Funksioni punon përmes VirtualMachineExport në KubeVirt dhe lejon përdoruesit të krijojnë snapshot ose kopje rezervë të imazheve të makinave virtuale.
- Siguruar mbështetje për klasa të ndryshme ruajtjeje (storage classes) për makinat virtuale. Aplikimi virtual-machine lejon zgjedhjen e çdo StorageClass për disqet sistemore të makinës virtuale në vend të përdorimit të PVC të ngurtë (shih vlerat systemDisk.storage dhe systemDisk.storageClass në konfigurimin e aplikacionit).
Burimi: opennet.ru
