PaaS platforma otvorenog koda Cozystack 1.4, izgrađena na Kubernetesu, sada je dostupna. Cilj projekta je pružiti platformu spremnu za korištenje pružateljima hostinga i okvir za izgradnju privatnih i javnih oblaka. Platforma se instalira izravno na poslužitelje i pokriva sve aspekte pripreme infrastrukture za pružanje upravljanih usluga. Cozystack vam omogućuje pokretanje i opskrbu Kubernetes klastera, baza podataka i virtualni strojeviKod platforme dostupan je na GitHubu i distribuira se pod Apache-2.0 licencom.
Platforma uključuje implementaciju mrežne infrastrukture (fabric) otvorenog koda temeljenu na Kube-OVN-u i koristi Cilium za organizaciju mreže usluga i MetalLB za najave usluga. Pohrana je implementirana na LINSTOR-u, koji nudi ZFS kao temeljni sloj pohrane i DRBD za replikaciju. Uključen je unaprijed konfigurirani stog za praćenje temeljen na VictoriaMetrics i Grafani. Za pokretanje virtualni strojevi Platforma koristi KubeVirt tehnologiju koja vam omogućuje pokretanje klasičnih virtualnih strojeva izravno u Kubernetes kontejnerima i već ima sve potrebne integracije s Cluster API-jem za pokretanje upravljanih Kubernetes klastera unutar Kubernetes klastera bez operativnog sustava. Unutar platforme možete jednim klikom implementirati Kafku, FerretDB, PostgreSQL, Cilium, Grafanu, Victoria Metrics i druge usluge.
Ključne značajke Cozystacka 1.4.0:
- Predstavljeno je novo sučelje za upravljanje temeljeno na projektu cozystack-ui. Stari openapi-ui i BFF stack zamijenjeni su frontendom izgrađenim na Reactu 19 i TypeScriptu, koji radi izravno s Kubernetes API-jem. Osim toga, sučelje sada podržava dinamičke VNC WebSocket URL-ove za virtualne strojeve, brendiranje tijekom izvođenja putem ConfigMapa, čitanje ApplicationDefinition za katalog aplikacija i preusmjeravanje naslijeđenih /openapi-ui/* URL-ova.
- Implementirana je trajna pohrana za radne čvorove u klasterima zakupaca. Virtualni strojevi radnih čvorova sada koriste PVC diskove putem KubeVirt dataVolumeTemplates umjesto emptyDisk-a. To osigurava da se kubelet certifikati, kubeconfig i stanje containerda sačuvaju nakon ponovnog pokretanja virtualnog stroja. Polje ephemeralStorage preimenovano je u diskSize, a postavka storageClass dodana je na razini NodeGroup. Stare vrijednosti se automatski pretvaraju tijekom migracije.
- Dodana je nova shema unaprijed postavljenih resursa, slična vrstama virtualnih strojeva koje koriste pružatelji usluga u oblaku. Unaprijed postavljene postavke opisane su u sljedećem formatu: . , gdje serije t1, c1, s1, u1 i m1 definiraju različite omjere CPU-a i memorije, a veličine se kreću od nano do 4xlarge. Dostupno je ukupno 40 varijanti. Stari nazivi unaprijed postavljenih postavki spremaju se kao naslijeđeni aliasi i automatski se migriraju bez promjene stvarnih ograničenja CPU-a i memorije.
- Deklarativni sustav sigurnosnog kopiranja za upravljane aplikacije je proširen. Kontroler backupstrategy sada podržava strategije za PostgreSQL, MariaDB, ClickHouse i FoundationDB. Podrška je sada dostupna za BackupClass, Plan, BackupJob i RestoreJob, zajedno s planiranim i ad-hoc sigurnosnim kopijama, vraćanjem na licu mjesta i vraćanjem u vraćanje. Podaci se prenose u objektnu pohranu kompatibilnu sa S3, a vjerodajnice se prenose putem Kubernetes Secret.
- Dodatni paket Hami sustava dodan je s HAMi 2.8.1 za dijeljeni pristup NVIDIA GPU-ima u klasterima zakupaca. Korisnička opterećenja mogu zahtijevati resurse s nvidia.com/gpu, nvidia.com/gpumem i nvidia.com/gpucores, što omogućuje dijeljenje vGPU-ova između više podova. Omogućavanje se vrši putem parametra hami.enabled i zahtijeva NVIDIA GPU Operator.
- Dodana je ujedinjena postavka publishing.proxyProtocol kako bi se omogućio proxy protokol na hostovima koji izvode ingress-nginx. Kada je omogućena, Ouroboros se automatski implementira, eliminirajući problem ukosnice NAT-a za zahtjeve klastera prema njegovim javnim imenima. Za klastere zakupaca dostupan je dodatak addons.ouroboros.enabled.
- Postavke generiranja HelmRelease dodane su u cozystack-operator: interval, interval ponovnog pokušaja, vrijeme čekanja instalacije, vrijeme čekanja nadogradnje i maksimalna povijest. Strategija ponovnog pokušaja promijenjena je na RetryOnFailure, a vrijeme čekanja može se odrediti za pojedinačne aplikacije putem napomene release.cozystack.io/helm-install-timeout. To eliminira niz problema s hladnim pokretanjem klastera zakupaca.
- Za Kubernetes radne čvorove zakupnika, rezervacije kubelet resursa za CPU i memoriju automatski se izračunavaju. Anotacije automatskog skaliranja klastera sada odražavaju dodijeljene resurse, a ne ukupni CPU i memoriju.
- Ažurirane su sljedeće ključne komponente platforme: Talos 1.13.0, cert-manager 1.20.2, Cilium 1.19.3, NVIDIA GPU Operator 26.3.1, etcd-operator 0.4.3, KubeVirt 1.8.2, cozy-proxy 0.3.0 i linstor-csi 1.10.6. Dodani su novi paketi: HAMi 2.8.1 i Ouroboros 0.7.2.
- Poboljšana dijagnostika: cozyreport sada prikuplja informacije o resursima Flux, cert-manager, host environment, Application, ApplicationDefinition i Tenant te generira datoteku summary.txt s kratkim sažetkom trenutnih problema. Dodane su Grafana nadzorne ploče i pravila prikupljanja podataka za praćenje GPU-a.
- Ispravci programskih pogrešaka implementirani su u MongoDB, Kafka, tenant Kubernetes bootstrap, etcd, Velero, Kamaji, LINSTOR, SeaweedFS, Harbor, objectstorage-controller, API i druge komponente. U API-ju je ispravljena IDOR ranjivost u rukovateljima TenantNamespace Get i Watch.
Prilikom nadogradnje imajte na umu da će čvorovi radnika klastera zakupaca biti sekvencijalno zamijenjeni jednom zbog prijelaza na trajne PVC diskove. Virtualni strojevi KubeVirt koji su radili prije nadogradnje platforme zahtijevat će hladno ponovno pokretanje nakon nadogradnje na KubeVirt 1.8.2, jer migracija uživo starijih procesa virt-launchera može propasti zbog promjene u verziji QEMU-a. Nadalje, parametri PostgreSQL-a sada se upisuju i provjeravaju u odnosu na denylist, a cert-manager 1.20 prema zadanim postavkama pokreće spremnike s UID/GID 65532.
Izvor: opennet.ru
