Veröffentlichung von Cozystack 0.33, einer offenen PaaS-Plattform auf Basis von Kubernetes.

Die Veröffentlichung der freien PaaS-Plattform Cozystack 0.33, basierend auf Kubernetes, ist erhältlich. Das Projekt zielt darauf ab, Hosting-Anbietern eine fertige Plattform und ein Framework für den Aufbau privater und öffentlicher Clouds bereitzustellen. Die Plattform wird direkt auf Servern installiert und deckt alle Aspekte der Infrastrukturvorbereitung für die Bereitstellung verwalteter Dienstleistungen ab. Cozystack ermöglicht das Starten und Bereitstellen von Kubernetes-Clustern, Datenbanken und virtuellen Maschinen. Der Code der Plattform ist auf GitHub verfügbar und unter der Apache-2.0-Lizenz lizenziert.

Als Basis-Technologiestack kommt Talos Linux und Flux CD zum Einsatz. Die Images mit System, Kernel und notwendigen Modulen werden im Voraus erstellt und atomar aktualisiert, was die Notwendigkeit von Komponenten wie dkms und eines Paketmanagers überflüssig macht und stabile Betrieb gewährleistet. Ein einfacher Installationsprozess in einem leeren Rechenzentrum wird via PXE und dem debian-ähnlichen Installer talos-bootstrap bereitgestellt. Innerhalb der Plattform können mit einem Klick Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics und andere Dienste bereitgestellt werden.

Die Plattform umfasst eine freie Implementierung der Netzwerk Infrastruktur (Fabric) basiert auf Kube-OVN und verwendet Cilium für die Organisation des Service-Netzwerks sowie MetalLB für die Außenankündigung der Dienste. Die Speicherung erfolgt über LINSTOR, wobei ZFS als Basisschicht für den Speicher und DRBD für die Replikation angeboten wird. Ein vorkonfiguriertes Monitoring-Stack auf Basis von VictoriaMetrics und Grafana ist integriert. Zur Ausführung virtueller Maschinen kommt KubeVirt zum Einsatz, das die Ausführung klassischer virtueller Maschinen direkt in Kubernetes-Containern ermöglicht und bereits alle erforderlichen Integrationen mit der Cluster-API für den Betrieb verwalteter Kubernetes-Cluster innerhalb des „physikalischen“ Kubernetes-Clusters bietet.

In den letzten anderthalb Monaten hat das Projektteam die neuen Versionen 0.31, 0.32 und 0.33 veröffentlicht. Zu den Änderungen in diesen Versionen gehören:

  • Die Verwaltung der Zuweisung von CPU- und Arbeitsspeicher-Ressourcen wurde vereinheitlicht. Es wurden einheitliche Konfigurationsvariablen cpu-allocation-ratio und memory-allocation-ratio hinzugefügt, um die CPU-Ressourcen und den Arbeitsspeicherverbrauch in virtuellen Maschinen, die KubeVirt verwenden, zu beschränken. Diese Variablen gelten für alle verwalteten Anwendungen und Ressourcen-Kontingente der Tenants. Die Voreinstellungen berücksichtigen ebenfalls die Ressourcen-Zuweisungsverhältnisse und verhalten sich wie explizite Ressourcendefinitionen. Bei einem Upgrade von früheren Versionen von Cozystack wird die Ressourcen-Konfiguration in den verwalteten Anwendungen automatisch in das neue Format konvertiert.
  • Eine Backup-Funktion für PVC in tenant-spezifischen Kubernetes-Clustern wurde hinzugefügt, die es Plattformadministratoren sowie Administratoren einzelner Tenants ermöglicht, Backups zu erstellen und Daten der in den Clustern laufenden Dienste wiederherzustellen. Für das Backup wird das Projekt Velero verwendet, und das System erfordert externen Speicher, der S3-kompatibel ist.
  • Die Unterstützung für die Verwendung gemeinsamer NFS-Speicher mit einem neuen optionalen Systemmodul wurde implementiert.
  • Die Möglichkeit zur Konfiguration der verfügbaren CPU-Sockets für virtuelle Maschinen über den Parameter resources.cpu.sockets wurde hinzugefügt, was es ermöglicht, bestimmten virtuellen Maschinen spezifische Sockets zuzuweisen.
  • Die Unterstützung von vorinstallierten Golden-Images für virtuelle Maschinen wurde hinzugefügt, wodurch die Vorbereitung durch Verlinkungen auf vorhandene Images anstelle von HTTP-Downloads beschleunigt wird.
  • Die Option exposeMethod für Ingress-NGINX in mandantenfähigen Clustern wurde implementiert, die die Auswahl zwischen Proxied und LoadBalancer ermöglicht.
  • Verbesserte Unterstützung für Java-Anwendungen: Die Parameter „heap“ werden jetzt basierend auf Anfragen und Speicherlimits berechnet.
  • Der Standard-Paketmanager wurde ersetzt – anstelle von Helm kommt nun das neue Tool cozypkg (eine Wrapper-Lösung für Helm und Flux zur lokalen Entwicklung) zum Einsatz.
  • Ein HelmRelease-Synchronisierer für systemeigene Komponenten wurde hinzugefügt, der eine automatische Überwachung von Schlüsseländerungen der Konfiguration zur rechtzeitigen Aktualisierung systeminterner Anwendungen gewährleistet.
  • Die Unterstützung von Registry-Mirrors in mandantenfähigen Kubernetes-Clustern wurde implementiert, die containerd für mandantenfähige Cluster konfiguriert.
  • Eine einheitliche Kennzeichnung von Tochterobjekten von Anwendungen für das Monitoring über WorkloadMonitors wurde realisiert.
  • Die Option cluster-domain wurde hinzugefügt, um die Domain cozy.local zu überschreiben.
  • RBAC-Regeln für die Portweiterleitung in KubeVirt (SSH über virtctl) wurden hinzugefügt.
  • Das Sammeln von Ereignissen und Audit-Protokollen wurde aktiviert.
  • Backup/Wiederherstellung von PostgreSQL wurde implementiert.
  • Ein neues Tool cozyreport wurde hinzugefügt, und die Erfassung von Berichten in CI ist gewährleistet. Jetzt werden alle Diagnosedaten als Build-Artefakte gespeichert.
  • Die Komponenten wurden aktualisiert: 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.
  • Die Installation von Talos in Air Gap-Umgebungen ist jetzt möglich.
  • Unterstützung für GPUs in tenant-basierten Kubernetes-Clustern wurde hinzugefügt. Plattformnutzer können GPU-Workloads sowohl in virtuellen Maschinen als auch in Kubernetes-Clustern ausführen.
  • Beta-Unterstützung für die ARM-Architektur wurde bereitgestellt (Cross-Architektur-Build). Das Build-System wurde überarbeitet, um multiarchitekturfähige Binärdateien und Container-Images zu unterstützen.
  • Der VerticalPodAutoscaler (VPA) wurde erweitert, der jetzt für mehr Cozystack-Komponenten aktiviert ist und eine automatische Ressourcenkonfiguration ermöglicht. Insbesondere wurde der VPA für Control Plane tenant-basierte Cluster hinzugefügt. Kontrollpanels Cozystack und etcd-operator. Alle Komponenten von Cozystack mit aktiviertem VPA können ihre CPU- und Speicherauslastung automatisch basierend auf der Nutzung anpassen, was die Stabilität erhöht.
  • Unterstützung für die Gateway API in Cilium hinzugefügt, die erweiterte Funktionen für die L4/L7-Routing über die Kubernetes Gateway API ermöglicht.
  • Ermöglicht das Hinzufügen eigener Parameter zu Cilium-Konfigurationen für Tenant-Cluster.
  • Im Tenant-HeimRelease-Reconcile-Controller wurde sichergestellt, dass Konfigurationsänderungen auf die Arbeitslasten der Tenants verteilt werden (sichert, dass jeder im Tenant definierte HelmRelease mit den Plattformaktualisierungen synchronisiert ist).
  • Die Möglichkeit zur Konfiguration des CPU-Zuteilungsverhältnisses in KubeVirt wurde implementiert (wie virtuelle CPUs zu physischen CPUs in Beziehung stehen) über den Wert cpu-allocation-ratio in der ConfigMap. Administratoren können die CPU-Overcommitment für virtuelle Maschinen anpassen, um ein notwendiges Gleichgewicht zwischen Leistung und Dichte zu wahren.
  • Der Export von virtuellen Maschinen in KubeVirt wurde implementiert. Diese Funktion arbeitet über VirtualMachineExport in KubeVirt und ermöglicht es Benutzern, Snapshots oder Backups von virtuellen Maschinenbildern zu erstellen.
  • Es wird Unterstützung für verschiedene Speicherklassen (storage classes) für virtuelle Maschinen bereitgestellt. Die Anwendung virtual-machine ermöglicht die Auswahl einer beliebigen StorageClass für die Systemfestplatte der virtuellen Maschine, anstelle eines festgelegten PVC (siehe die Werte systemDisk.storage und systemDisk.storageClass in der Anwendungs-Konfiguration).

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster