Die Version 0.30.0 der freien PaaS-Plattform Cozystack, die auf Kubernetes basiert, ist jetzt verfügbar. Das Projekt zielt darauf ab, eine schlüsselfertige Plattform für Hosting-Anbieter sowie ein Framework für den Aufbau privater und öffentlicher Clouds bereitzustellen. Die Plattform wird direkt auf Servern installiert und umfasst alle Aspekte der Infrastrukturvorbereitung zur Bereitstellung verwalteter Dienste. 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.
Talos Linux und Flux CD werden als grundlegender Technologie-Stack verwendet. Die Images mit dem Betriebssystem, 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 die Stabilität gewährleistet. Es wird eine einfache Installationsmethode in einem leeren Rechenzentrum mithilfe von PXE und dem debian-artigen Installer talos-bootstrap bereitgestellt.
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 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 viel Arbeit in die Konfiguration von etcd, Cilium, Kube-OVN, Linstor und anderen Komponenten investiert.
- Stärkung und Verbesserung des Observability-Stacks. Dashboards für mehrere Komponenten wurden hinzugefügt und die Grafana-Einstellungen optimiert, was ihre Leistung beschleunigte.
- Veröffentlichung eines zusätzlichen Tools cozy-proxy, das die Ausgabe ermöglicht IP-Adressen virtueller Maschinen in K8s.
- Einführung des Vertical Pod Autoscalers. Der VPA setzt automatisch Limits für Ressourcen, die eine Anwendung verwenden kann. Diese Limits basieren auf historischen Metriken.
- Refactoring und Hinzufügen neuer Abschnitte zur Dokumentation.
- Umzug des Repositorys der Plattform und zugehöriger Tools von der Organisation aenix-io zur Organisation cozystack nach der Übertragung des Projekts in das CNCF Sandbox.
- Cozystack 0.30: Einführung des GPU-Operators und Unterstützung von GPUs in virtuellen Maschinen hinzugefügt. Die Unterstützung von GPUs ermöglicht die Nutzung der Plattform für maschinelles Lernen.
- Cozystack 0.29: Arbeiten zur Erhöhung der Stabilität und Zuverlässigkeit der Plattform durchgeführt. Sicherheitsanfälligkeit CVE-2025-1974 in ingress-nginx behoben. Ein Satz von Presets wurde hinzugefügt, um den Ressourcenverbrauch zu begrenzen. Automatische Zertifikatserneuerung implementiert. Cilium-Hostfirewall hinzugefügt. Ein Prozess zum Ausführen von e2e-Tests in GitHub CI wurde eingeführt.
- Cozystack 0.28: Einführung des Vertical Pod Autoscalers, der automatisch Limits für die Ressourcen festlegt, die verschiedenen Anwendungen zur Verfügung stehen. 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 wurde hinzugefügt, um Fehler in LINSTOR automatisch zu beheben (z. B. DRBD-Verbindung verloren, hängendes Loop-Gerät usw.). Es wurde die Möglichkeit zur Verteilung von PostgreSQL-Replikaten auf verschiedene Knoten hinzugefügt. Dashboards zur Überwachung von ClickHouse und Piraeus sind jetzt verfügbar.
- Cozystack 0.26: Die Stabilität bei der Arbeit in Multi-DC-Konfigurationen wurde verbessert. Die Überwachung der Netzwerkverbindung wurde integriert. Es besteht nun die Möglichkeit, Ressourcen für einzelne Mandanten innerhalb des Clusters zu beschränken. Das Tool Goldpinger zur Überwachung der Latenz zwischen Rechenzentren wurde hinzugefügt. Die Live-Migration virtueller Maschinen ist jetzt standardmäßig aktiviert. Außerdem können jetzt Snapshots von LINSTOR-Volumes erstellt werden.
- Cozystack 0.25: Ein Hilfswerkzeug namens cozy-proxy wurde hinzugefügt, das es ermöglicht, IP-Adressen vollständig an virtuelle Maschinen zuzuweisen – nicht nur einzelne Ports. In Cosyastack basieren die virtuellen Maschinen auf KubeVirt und werden ähnlich wie Pods verwaltet. Kubernetes sieht nicht vor, Pods vollständige IP-Adressen zuzuweisen. cozy-proxy löst dieses Problem, was insbesondere für Kunden von Service-Providern wichtig ist, deren Anwendungen in virtuellen Maschinen laufen und die eine separate IP-Adresse benötigen. Das Monitoring von etcd, Flux, Kafka wurde verbessert, und entsprechende Dashboards wurden hinzugefügt. Benutzer, die nur Zugriff auf einzelne Tenants haben, können nun kubeconfig herunterladen.
- Cozystack 0.24: Die Möglichkeit zur Bereitstellung über PXE wurde eingeführt, um automatisch Talos Linux auf Nodes zu laden. Ein Paket namens smee (dhcp+pxe-Server) aus dem Tinkerbell-Set wurde hinzugefügt. Darkhttp wurde durch die eigene Entwicklung cozystack-assets-server ersetzt. Im Grafana-Image wurden Plugins eingebaut, um den Start von Grafana zu beschleunigen.
Quelle: opennet.ru
