Die Veröffentlichung der freien PaaS-Plattform Cozystack 1.2, die auf Kubernetes basiert, ist verfügbar. Das Projekt zielt darauf ab, Hosting-Anbietern eine fertige Plattform und einen Rahmen 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 virtuelle Maschinen. Der Code der Plattform ist auf GitHub verfügbar und wird unter der Lizenz Apache-2.0 verbreitet.
Die Plattform beinhaltet eine freie Implementierung der Netzwerk-Infrastruktur (Fabric) auf Basis von Kube-OVN und verwendet Cilium zur Organisation des Servicenetzwerks, MetalLB zur Ankündigung von Services nach außen. Der Speicher wird auf LINSTOR implementiert, wobei die Verwendung von ZFS als Basisschicht für den Speicher und DRBD für die Replikation vorgeschlagen wird. Ein vorinstallierter Monitoring-Stack basierend auf VictoriaMetrics und Grafana ist enthalten. Für den Start virtuelle Maschinen wird die Technologie KubeVirt verwendet, die es ermöglicht, klassische virtuelle Maschinen direkt in Kubernetes-Containern auszuführen und bereits alle notwendigen Integrationen mit Cluster API für den Betrieb verwalteter Kubernetes-Cluster innerhalb eines physischen Kubernetes-Clusters hat. Im Rahmen der Plattform können mit einem Klick Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics und andere Services bereitgestellt werden.
Die wichtigsten Neuerungen in Cozystack 1.2.0:
- Im Dashboard wurde die Anwendung „Managed OpenSearch“ hinzugefügt, die alle Versionen der OpenSearch-Plattform unterstützt. Eine mehrrollenfähige Topologie ist verfügbar, TLS ist standardmäßig aktiviert, die Authentifizierung über HTTP Basic funktioniert sofort, und bei Bedarf kann zusammen mit der Engine ein Webinterface für OpenSearch Dashboards bereitgestellt werden.
- In der Anwendung VPC wurde die Unterstützung für VPC Peering implementiert, was es ermöglicht, private Netzwerke von Mandanten direkt ohne Routing des Verkehrs über öffentliche Punkte zu verbinden. In Multimandanten-Installationen können Betreiber sauberere interne Netzwerktopologien entwerfen und nur den benötigten Verkehr nach außen veröffentlichen. Es wurde deterministisches Scheduling hinzugefügt IP-Adressen für Peering und die Unterstützung statischer Routen.
- Ein SchedulingClass-System wurde implementiert, das den Betreibern ermöglicht, zu steuern, wo die Arbeitslasten der Mandanten ausgeführt werden. Beispielsweise können Lasten an bestimmte Rechenzentren, Hardwareklassen oder Knoten gruppen gebunden werden, ohne dass sich die Mandanten mit den Details des Kubernetes-Schedulers befassen müssen. Standardmäßig ist der cozystack-scheduler aktiviert, der SchedulingClass Teil der Standardinstallation der Plattform macht.
- VictoriaLogs wurde in den Cluster-Modus auf Basis von VLCluster übersetzt, um die Skalierbarkeit des Logging-Stacks zu erhöhen.
- In LINSTOR wurde die Unterstützung für die Verschiebung von Volumen nach Klonen und Wiederherstellungen implementiert, um die Datenplatzierung in Clone- und Restore-Szenarien zu verbessern.
- external-dns ist als separates zusätzliches Paket verfügbar.
Quelle: opennet.ru
