Release van Cozystack 1.4, een open PaaS-platform gebaseerd op Kubernetes

De release van het gratis PaaS-platform Cozystack 1.4, gebouwd op Kubernetes, is nu beschikbaar. Het project richt zich op het leveren van een kant-en-klare platform voor hostingproviders en een framework voor het opzetten van privé en publieke clouds. Het platform wordt rechtstreeks op servers geïnstalleerd en dekt alle aspecten van de infrastructuurvoorbereiding voor het leveren van beheerde services. Cozystack maakt het mogelijk om Kubernetes-clusters, databases en virtuele machines. De broncode van het platform is beschikbaar op GitHub en wordt verspreid onder de Apache-2.0-licentie.

Het platform omvat een vrije implementatie van netwerkinfrastructuur (fabric) op basis van Kube-OVN en gebruikt Cilium voor de organisatie van de servicenetwerk, MetalLB voor het aankondigen van diensten naar buiten. Opslag is gerealiseerd op LINSTOR, waarbij ZFS wordt aangeboden als de basislaag voor opslag en DRBD voor replicatie. Er is een vooraf geconfigureerde monitoringstack op basis van VictoriaMetrics en Grafana. Voor de uitvoering virtuele machines wordt de technologie KubeVirt gebruikt, die het mogelijk maakt om klassieke virtuele machines rechtstreeks binnen Kubernetes-containers uit te voeren en al de noodzakelijke integraties met Cluster API heeft voor het opstarten van beheerde Kubernetes-clusters binnen een 'bare metal' Kubernetes-cluster. Binnen het platform kunnen met één klik Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics en andere diensten worden uitgerold.

Belangrijkste nieuwe functies in Cozystack 1.4.0:

  • Er is een nieuwe beheerdersinterface geïntroduceerd, gebaseerd op het project cozystack-ui. De oude stack openapi-ui en BFF is vervangen door een frontend op React 19 en TypeScript, dat rechtstreeks met de Kubernetes API werkt. Bovendien ondersteunt de interface nu dynamische VNC WebSocket-URL's voor virtuele machines, runtime-branding via ConfigMap, lezing van ApplicationDefinition voor de applicatiecatalogus en omleiding van oude adressen /openapi-ui/*.
  • Voor worker-knooppunten van tenant-clusters is doorlopende opslag geïmplementeerd. Virtuele machines van worker-knooppunten maken nu gebruik van PVC-schijven via KubeVirt dataVolumeTemplates in plaats van emptyDisk. Hierdoor blijven kubelet-certificaten, kubeconfig en de staat van containerd behouden na het opnieuw opstarten van de virtuele machine. Het veld ephemeralStorage is omgedoopt tot diskSize, en er is een instelling voor storageClass op het niveau van de NodeGroup toegevoegd. Tijdens de migratie worden oude waarden automatisch omgezet.
  • Een nieuw schema voor resource presets is toegevoegd, analogisch aan de typen virtuele machines van cloudproviders. Presets worden beschreven in het formaat ., waarbij de series t1, c1, s1, u1 en m1 verschillende verhoudingen van CPU en geheugen aangeven, en de formaten variëren van nano tot 4xlarge. In totaal zijn er 40 varianten beschikbaar. Oude preset-namen zijn behouden als verouderde aliassen en worden automatisch gemigreerd zonder de werkelijke limieten van CPU en geheugen te wijzigen.
  • Het systeem voor declaratieve back-ups van beheerde applicaties is uitgebreid. De backupstrategy-controller heeft strategieën voor PostgreSQL, MariaDB, ClickHouse en FoundationDB gekregen. BackupClass, Plan, BackupJob en RestoreJob worden ondersteund, evenals geplande en eenmalige back-ups, herstel op locatie en herstel naar een kopie. Gegevens worden geëxporteerd naar S3-compatibele objectopslag en de inloggegevens worden doorgegeven via Kubernetes Secret.
  • Een optioneel systeempakket hami met HAMi 2.8.1 is toegevoegd voor gezamenlijke toegang tot NVIDIA GPU's in tenant clusters. Gebruikersworkloads kunnen bronnen aanvragen zoals nvidia.com/gpu, nvidia.com/gpumem en nvidia.com/gpucores, wat het mogelijk maakt om vGPU tussen meerdere pods te verdelen. Activatie vindt plaats via de parameter hami.enabled en vereist de NVIDIA GPU Operator.
  • Er is een uniforme instelling publishing.proxyProtocol geïntroduceerd voor het inschakelen van het PROXY-protocol op hosts met ingress-nginx. Bij activatie wordt automatisch Ouroboros uitgerold, dat het hairpin-NAT-probleem oplost voor verzoeken uit het cluster naar zijn openbare namen. Voor tenant clusters is de toevoeging addons.ouroboros.enabled voorzien.
  • In de cozystack-operator zijn instellingen voor het genereren van HelmRelease toegevoegd: interval, retry interval, install timeout, upgrade timeout en max history. De retry-strategie is ingesteld op RetryOnFailure, en voor afzonderlijke applicaties kan de timeout worden ingesteld via de annotatie release.cozystack.io/helm-install-timeout. Dit lost verschillende problemen op bij een koude start van tenant clusters.
  • Voor worker nodes van tenant Kubernetes worden automatisch de reserveringen voor kubelet-resources voor CPU en geheugen berekend. Annotaties van de cluster-autoscaler weerspiegelen nu de toegewezen resources, niet het totale volume van CPU en geheugen.
  • De basiscomponenten van het platform zijn bijgewerkt: 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, linstor-csi 1.10.6. Nieuwe pakketten HAMi 2.8.1 en Ouroboros 0.7.2 zijn toegevoegd.
  • De diagnostiek is verbeterd: cozyreport verzamelt nu informatie over Flux, cert-manager, hostomgeving, Application, ApplicationDefinition en Tenant-resources, en genereert summary.txt met een kort overzicht van de huidige problemen. Grafana-dashboards en regels voor gegevensverzameling voor GPU-monitoring zijn toegevoegd.
  • Fouten in MongoDB, Kafka, tenant Kubernetes bootstrap, etcd, Velero, Kamaji, LINSTOR, SeaweedFS, Harbor, objectstorage-controller, API en andere componenten zijn verholpen. In de API is een IDOR-kwetsbaarheid opgelost in de handlers TenantNamespace Get en Watch.

Bij de update moet rekening worden gehouden met het feit dat worker nodes van tenant clusters eenmalig achtereenvolgens worden vervangen vanwege de overstap naar permanente PVC-schijven. Virtuele machines KubeVirt die vóór de platformupdate zijn gestart, vereisen een koude herstart na de overstap naar KubeVirt 1.8.2, aangezien live migratie van oude virt-launcher-processen kan falen wegens de versiewijziging van QEMU. Bovendien worden de parameters van PostgreSQL nu getypeerd en gecontroleerd op een denylist, en start cert-manager 1.20 standaard containers met UID/GID 65532.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster