Udgivelsen af den gratis PaaS-platform Cozystack 0.37, bygget på Kubernetes, er nu tilgængelig. Projektet sigter mod at tilbyde en klar platform til hostingudbydere og et rammeværk til at bygge private og offentlige cloud-løsninger. Platformen installeres direkte på servere og dækker alle aspekter af infrastrukturforberedelse til at tilbyde styrede tjenester. Cozystack gør det muligt at starte og levere Kubernetes-klynger, databaser og virtuelle maskiner. Koden til platformen er tilgængelig på GitHub og distribueres under Apache-2.0 licensen.
Som basis for teknologistakken bruges Talos Linux og Flux CD. Billeder med systemet, kernen og de nødvendige moduler dannes på forhånd og opdateres atomisk, hvilket gør det muligt at undgå komponenter som dkms og pakkestyringssystemet, samtidig med at stabil drift sikres. Der tilbydes en enkel installationsmetode i et tomt datacenter ved hjælp af PXE og den debian-lignende installationsprogram talos-bootstrap. Inden for platformen kan man med ét klik implementere Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics og andre tjenester.
Platformen inkluderer en fri implementering af netværksinfrastruktur (fabric) baseret på Kube-OVN, og bruger Cilium til at organisere tjenestenetværket, MetalLB til at annoncere tjenester til omverdenen. Lagring er implementeret på LINSTOR, hvor ZFS tilbydes som basislag for lagring og DRBD til replikering. Der er en forudindstillet monitoreringsstak baseret på VictoriaMetrics og Grafana. Til opstart virtual machines bruges KubeVirt-teknologien, som gør det muligt at køre klassiske virtuelle maskiner direkte i Kubernetes-containere, og som allerede har alle nødvendige integrationer med Cluster API for at køre styrede Kubernetes-klynger inden for en 'fysisk' Kubernetes-klynge.
I løbet af de sidste halvanden måned har projektteamet frigivet nye versioner 0.36 og 0.37. Blandt ændringerne i disse udgivelser:
- Brugergrænsefladen er skrevet fuldstændigt om. Som grundlaget er openapi-ui projektet blevet anvendt.

- I grænsefladen er der tilføjet en klyngeselektor. Nu fungerer dashboardet i en enkelt klynge tilstand (et dashboard pr. klynge). I fremtiden vil den samme grænseflade blive brugt til multiklynge-tilstand.
- På klyngeskærmen er alle tilgængelige namespaces nu synlige med det samme. Listen dannes gennem det aggregerende lag Kubernetes (tenant namespace), så kun de namespaces, der er tilgængelige, vises.
- Oprettelse af ressourcer foregår nu via formularer, der automatisk genereres fra Kubernetes OpenAPI. Kommentarer fra YAML er ikke nødvendige: Felter og validering tages direkte fra specifikationerne.
- Specifikationen af nye applikationer dannes fra Helm-diagrammer ved hjælp af cozy-values generatoren, og de indtastede felter i formularen afspejles synkront i den endelige YAML.
- Modulerne til administration af tenants er blevet flyttet til administrativ sektion: her kan man oprette sub-tenants og installere specifikke moduler/applikationer for dem (adgang afhænger af brugerens rolle og rettigheder).
- Der er planlagt en tilføjelse af en fane med VNC-konsollen for virtuelle maskiner. For nogle typer ressourcer vil der blive tilføjet specielle faner/felter (f.eks. for KubeVirt-VM'er).
- Mekanismen til ressourcestyring for tenants på Cozystack er blevet stabiliseret. Platformadministratorer kan nu angive specifikke grænser for CPU, hukommelse og lagerplads for hver tenant-namespace i tenant-specifikationen. På den måde kan ingen tenant "spise" alt og efterlade andre tenants uden ressourcer.
- Kube-OVN Plunger-komponenten er blevet tilføjet til konstant overvågning af tilstanden for det centrale kontrolklynge i Kube-OVN-netværket. En ekstern agent indsamler status for OVN-klyngen og konsensusinformation, viser Prometheus-metrics og strøm af begivenheder via SSE (Server-Sent Events).
- CoreDNS-tilføjelsen rulles nu ud via Helm-diagram og konfigureres i klynge-specifikationen (automatisering, antal repliker, service-IP osv.). CoreDNS kan konfigureres både i dashboardet og gennem API'et Cozystack.
- S3-lagring baseret på SeaweedFS er blevet mere fleksibel på komponentniveau. Helm-diagrammet giver mulighed for uafhængig konfiguration af hver komponent og dens ressourcer: master-noder, volume-servere (med understøttelse af flere zoner), database og S3-gateway. Administratorer kan angive antallet af repliker, CPU-/hukommelsesgrænser og lagerplads for hver komponent.
- FS SeaweedFS 3.97 er integreret med understøttelse af server-side kryptering af S3-buckets (SSE-C, SSE-KMS, SSE-S3). Ved opdatering af Cozystack vil SeaweedFS-versionen blive opdateret, og service-specifikationerne vil blive automatisk omformateret til det nye format.
- NGINX-controller kan nu konfigureres på niveauet for hver replika: du kan angive CPU- og hukommelsesgrænser direkte eller vælge en af de færdige prædefinerede indstillinger.
- Hvis der er tildelt en ekstern IP til en virtuel maskine, bruges den altid til egress-trafik, uanset hvilken metode der anvendes til tildeling af denne IP.
Kilde: opennet.ru

