Die Version Cozystack 0.30.0 der freien PaaS-Plattform, die auf Kubernetes basiert, ist jetzt verfügbar. Das Projekt zielt darauf ab, eine sofort einsatzbereite Plattform für Hosting-Anbieter und ein Framework zum Erstellen von privaten und öffentlichen Clouds bereitzustellen. Die Plattform wird direkt auf Servern installiert und deckt alle Aspekte der Infrastrukturvorbereitung für die Bereitstellung verwalteter Dienste ab. Cozystack ermöglicht das Starten und Bereitstellen von Kubernetes-Clustern, Datenbanken und virtuellen Maschinen. Der Quellcode der Plattform ist auf GitHub verfügbar und wird unter der Lizenz Apache-2.0 verteilt.
Der zugrunde liegende Technologie-Stack verwendet Talos Linux und Flux CD. Die Images mit dem System, dem Kernel und den erforderlichen Modulen werden im Voraus erstellt und atomar aktualisiert, was die Verwendung von Komponenten wie dkms und Paketmanagern überflüssig macht und eine stabile Funktionsweise gewährleistet. Eine einfache Installationsmethode in einem leeren Rechenzentrum wird mit PXE und dem debian-ähnlichen Installer talos-bootstrap bereitgestellt.
Die Plattform umfasst eine freie Implementierung der Netzwerkinfrastruktur (fabric) basierend auf Kube-OVN und verwendet Cilium zur Organisation des Servicenetzwerks und MetalLB für die öffentliche Ankündigung von Diensten. Der Speicher wird auf LINSTOR realisiert, wobei die Verwendung von ZFS als Basisschicht für den Speicher und DRBD für die Replikation angeboten wird. Ein vordefinierter Monitoring-Stack auf Basis von VictoriaMetrics und Grafana ist vorhanden. Zur Ausführung virtueller Maschinen wird die Technologie KubeVirt verwendet, die es ermöglicht, klassische virtuelle Maschinen direkt in Kubernetes-Containern zu betreiben und bereits alle notwendigen Integrationen mit Cluster API für die Ausführung verwalteter Kubernetes-Cluster innerhalb eines „physischen“ Kubernetes-Clusters zu haben.
In den letzten anderthalb Monaten hat das Projektteam sieben neue Versionen veröffentlicht: 0.24-0.30. Zu den Änderungen in diesen Versionen gehören:
- Stabilisierung der Plattform für den Einsatz in Multi-DC-Konfigurationen. Es wurde umfangreiche Arbeit an der Konfiguration von etcd, Cilium, Kuve-OVN, Linstor und anderen Komponenten geleistet.
- Stärkung und Verbesserung des Observability-Stacks. Dashboards für verschiedene Komponenten wurden hinzugefügt und die Grafana-Einstellungen optimiert, was die Leistung beschleunigt hat.
- Veröffentlichung eines zusätzlichen Dienstprogramms cozy-proxy, das das Ausgeben ermöglicht IP-Adressen virtuellen Maschinen in K8s.
- Einführung des Vertical Pod Autoscalers. Der VPA setzt automatisch Ressourcenlimits für die Anwendung. Die Limits werden basierend auf historischen Metriken festgelegt.
- Refactoring und Hinzufügen neuer Abschnitte zur Dokumentation.
- Verschiebung des Repository der Plattform und der Hilfsdienste von der Organisation aenix-io zu der Organisation cozystack, nachdem das Projekt in den CNCF Sandbox übergeben wurde.
- Cozystack 0.30: Einführung des GPU-Operators und Hinzufügung der GPU-Unterstützung in virtuellen Maschinen. Die GPU-Unterstützung ermöglicht die Nutzung der Plattform für die Ausführung von Aufgaben im Zusammenhang mit maschinellem Lernen.
- Cozystack 0.29: Es wurde an der Verbesserung der Stabilität und Zuverlässigkeit der Plattform gearbeitet. Die Schwachstelle CVE-2025-1974 in ingress-nginx wurde behoben. Ein Satz von Voreinstellungen wurde hinzugefügt, die den Ressourcenverbrauch begrenzen. Automatische Zertifikatserneuerung wurde implementiert. Eine Cilium-Host-Firewall wurde hinzugefügt. Ein Prozess zum Starten von e2e-Tests in GitHub CI wurde eingerichtet.
- Cozystack 0.28: Einführung des Vertical Pod Autoscalers, der automatisch Ressourcenlimits für verschiedene Anwendungen festlegt. Die Tenant-Isolierung ist standardmäßig aktiviert. Die Verantwortung für die Validierung der source-ip wurde von Cilium auf Kube-OVN übertragen.
- Cozystack 0.27: Ein Satz von Linstor-Plunger-Skripten zur automatischen Behebung von Fehlern in LINSTOR (z.B. DRBD-Verbindung verloren, hängendes Loop-Gerät usw.) wurde vorgeschlagen. Es wurde die Möglichkeit zur Verteilung von PostgreSQL-Replikaten auf verschiedene Knoten ergänzt. Dashboards zur Überwachung von ClickHouse und Piraeus wurden hinzugefügt.
- Cozystack 0.26: Die Stabilität in Multi-DC-Konfigurationen wurde erhöht. Ein Monitoring der Netzwerkverbindungen wurde hinzugefügt. Die Möglichkeit, Ressourcen für einzelne Tenants innerhalb des Clusters zu begrenzen, wurde eingerichtet. Ein Goldpinger-Tool zur Überwachung von Latenzen zwischen Rechenzentren wurde hinzugefügt. Live-Migration von virtuellen Maschinen ist standardmäßig aktiviert. Es gibt nun die Möglichkeit, Snapshots von LINSTOR-Volumes zu erstellen.
- Cozystack 0.25: Ein Hilfswerkzeug namens cozy-proxy wurde hinzugefügt, das es ermöglicht, virtuellen Maschinen IP-Adressen zuzuweisen - und nicht nur einzelne Ports, sondern die gesamte Adresse. In Cosyastack basieren die virtuellen Maschinen auf KubeVirt und werden ähnlich wie Pods verwaltet. Kubernetes sieht keine Zuweisung von IP-Adressen an Pods vor. cozy-proxy löst dieses Problem, was insbesondere für Dienstanbieter wichtig ist, deren Anwendungen in virtuellen Maschinen laufen und die eine eigene IP-Adresse benötigen. Das Monitoring für etcd, Flux, Kafka wurde verbessert und entsprechende Dashboards hinzugefügt. Nutzer mit Zugriff nur auf bestimmte Tenants haben nun die Möglichkeit, kubeconfig herunterzuladen.
- Cozystack 0.24: Die Möglichkeit zur Bereitstellung über PXE wurde eingeführt, um automatisch Talos Linux auf Knoten zu laden. Das Paket smee (dhcp+pxe server) aus dem Tinkerbell-Set wurde hinzugefügt. Darkhttp wurde durch die hauseigene Entwicklung cozystack-assets-server ersetzt. Im Grafana-Image sind Plugins integriert, damit Grafana schneller startet.
Quelle: opennet.ru
