Veröffentlichung von Cozystack 0.22, einer offenen PaaS-Plattform basierend auf Kubernetes

Die neue Version der kostenlosen PaaS-Plattform Cozystack 0.22.0, die auf Kubernetes basiert, ist jetzt verfügbar. Das Projekt zielt darauf ab, eine fertige Plattform für Hosting-Anbieter 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 Dienste 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 wird unter der Apache-2.0-Lizenz 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) basierend auf Kube-OVN, nutzt Cilium zur Organisation des Service-Netzwerks und MetalLB für die externe Ankündigung von Services. Der Speicher wird über LINSTOR bereitgestellt, mit der Möglichkeit, ZFS als Basisschicht für den Speicher und DRBD für die Replikation zu verwenden. Ein vorgefertigter Monitoring-Stack auf Basis von VictoriaMetrics und Grafana ist vorhanden. Zum Starten virtuellen Maschinen kommt die KubeVirt-Technologie zum Einsatz, die es ermöglicht, klassische virtuelle Maschinen direkt in Kubernetes-Containern auszuführen und bereits alle notwendigen Integrationen mit dem Cluster-API für den Betrieb verwalteter Kubernetes-Cluster innerhalb eines physischen Kubernetes-Clusters bietet.

In der neuen Version wurde der cozystack-controller hinzugefügt sowie neue Entitäten: Workload und WorkloadMonitor. Diese ermöglichen die Überwachung des Status von Pods, die von Operatoren verwaltet werden, und die Bewertung des Serviceniveaus anhand vorher festgelegter Regeln. Anwendungen in Cozystack werden von verschiedenen Operatoren verwaltet, weshalb beschlossen wurde, ein einheitliches Format zur Anzeige des Status jedes Dienstes zu schaffen.

So funktioniert es: Bei der Bereitstellung einer Anwendung wird auch der WorkloadMonitor installiert, der den Status von Pods anhand eines Selektors überwacht. Sobald einer der Pods in den Selektor fällt, wird eine neue Entität Workload für ihn erstellt, die die Rolle jedes Pods und seinen Status anzeigt. Im Status des WorkloadMonitors kann die Anzahl der vorhandenen Replikate und die minimale Anzahl der Replikate, die zur Gewährleistung des Dienstes benötigt werden, angezeigt werden. Sobald die Last (workload) unter den Wert minReplicas für den WorkloadMonitor sinkt, wird der Dienst als nicht funktionsfähig (non-operational) markiert.

Für Anwendungen, bei denen kein genaues minReplicas-Wert angegeben werden kann (z. B. Kubernetes-Arbeiter, die automatisch skalieren können), wurde die Möglichkeit implementiert, diesen Wert im WorkloadMonitor ganz wegzulassen. In diesem Fall zählt der WorkloadMonitor einfach die Gesamtzahl der gestarteten Instanzen.

Ein solches Mechanismus ermöglicht die Verwendung beliebiger Operatoren und Prozesse zur Verwaltung von Pods in Kubernetes und erleichtert die Erweiterung der Plattform, indem eine einheitliche Schnittstelle zur Anzeige des aktuellen Status des Dienstes bereitgestellt wird.

Der WorkloadMonitor zur Sammlung von Informationen über Replikate und deren Funktionsfähigkeit wurde in Anwendungen wie Kubernetes, Postgres, Monitoring, VirtualMachine, VMInstance, Redis, etcd und SeaweedFS hinzugefügt. Das Cozystack-Dashboard zeigt jetzt die Anzahl der Anwendungsreplikate und das Serviceniveau für jede Workload-Gruppe an.

Weitere Änderungen:

  • Klient und Server für die Telemetrie wurden implementiert und unter der Lizenz Apache 2.0 veröffentlicht. Die Sammlung von Metriken für die Telemetrie erfolgt gemäß den Richtlinien zur Datensammlung und -nutzung der "LF Telemetry Data Collection and Usage Policy" und kann über die Option "telemetry-enabled: false" in der Cozystack-Konfiguration deaktiviert werden. Die Daten sind anonym und vollständig anonymisiert. In zukünftigen Versionen der Plattform ist geplant, ein öffentliches Dashboard auf Basis der Telemetriedaten zu erstellen.
  • Die Komponente cluster-autoscaler für Kubernetes sowie deren Einstellungen wurden aktualisiert, um eine effizientere Skalierung von Clustern sowohl nach oben als auch nach unten zu ermöglichen.
  • Die Datei MAINTAINERS wurde aktualisiert, in der die Teilnehmer aufgelistet sind, die das Projekt betreuen, sowie ihre Verantwortungsbereiche.
  • In Cozystack wurde die Dienstanwendung builder hinzugefügt, die es ermöglicht, die Plattform direkt in Kubernetes zu erstellen.
  • Für die Datenbank VictoriaMetrics wurde die Möglichkeit hinzugefügt, eigene Parameter anzugeben, und die standardmäßig festgelegten Einschränkungen wurden erhöht.
  • Für Grafana und Alerta wurde die Sammlung von Metriken aus Datenbanken implementiert.
  • Alerts über den Status von virtuellen Maschinen und Postgres-Clustern wurden hinzugefügt.
  • Für KubeVirt wurde die Sammlung von Metriken konfiguriert und ein Grafana-Dashboard hinzugefügt.
  • In der Cozystack-Konfiguration wurde die Option extra-keycloak-redirect-uri-for-dashboard hinzugefügt, die zusätzliche Weiterleitungen für Keycloak konfiguriert.
  • In VMInstance wurde ein Fehler behoben, der die Verbindung von VMdisks zu virtuellen Maschinen blockierte.
  • Die Flux Operator 0.12.0, Flux Instance chart 0.12.0, Cilium 1.16.5, Kube-OVN 1.13.2 und CNPG PostgreSQL Operator 1.25.0 sowie Talos Linux 1.9.1 wurden aktualisiert.

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