Das Cozystack-Projekt hat Talm, einen Konfigurationsmanager für Talos Linux, veröffentlicht.

Die Entwickler der Open-Source-PaaS-Plattform Cozystack haben das Talm-Projekt ins Leben gerufen, um die Konfiguration von Bare-Metal-Servern für Talos Linux zu vereinfachen. Talos Linux ist ein Betriebssystem zur Ausführung von Kubernetes, das über eine Kubernetes-ähnliche API verfügt und mit einem Yaml-Manifest konfiguriert wird. Obwohl Talm für die deklarative Installation von Cozystack entwickelt wurde, ist es nicht spezifisch an diese Plattform gebunden und kann zur Verwaltung beliebiger Konfigurationen von Talos Linux verwendet werden. Das Projekt wird unter der MPL-Lizenz weiterentwickelt.

Die Notwendigkeit, einen weiteren Konfigurationsmanager für Talos Linux zu entwickeln, ergibt sich aus der Ausrichtung auf Bare-Metal-Server. Die Entwickler wollten eine möglichst einfache Oberfläche schaffen, die den gut bekannten Tools Helm und kubectl ähnelt, die Administratoren von Kubernetes vertraut sind.

Da jeder physische Server über eine unterschiedliche Konfiguration verfügt (MAC-Adressen, Schnittstellen und Festplatten), ist es erforderlich, für jede Node eine separate Konfigurationsdatei zu haben. Ein einfacher Manager ist notwendig, der es ermöglicht, solche Konfigurationsdateien basierend auf gesammelten Informationen zu generieren und sie deklarativ zu aktualisieren.

Dazu wird eine dynamische Generierung von Konfigurationsdateien basierend auf einer Vorlage verwendet. Es gibt fertige Presets wie „generic“ und „cozystack“. Talm kann während der Generierung Informationen aus der Talos API sammeln und diese für die resultierenden Konfigurationen nutzen. Diese Konfigurationsdateien enthalten keine Geheimnisse, sondern nur Änderungen, was eine bequeme Speicherung in Git und eine deklarative Verwaltung ermöglicht.

In den meisten Fällen spiegelt Talm die Struktur von Helm wider und arbeitet mit dem Konzept eines Charts, in dem die Vorlagen zur Generierung der Konfiguration beschrieben sind. Helm-ähnliche Funktionen wie lookup werden unterstützt, um die Talos API direkt abzufragen und zusätzliche Metadaten zur Generierung von Konfigurationsdateien mithilfe von „go templates“ und der Sprig-Bibliothek zu sammeln.

Befehl: talm template -t templates/controlplane.yaml -e 1.2.3.4 -n 1.2.3.4 > nodes/srv1.yaml

Fragt den Knoten „1.2.3.4“ über die API an, generiert eine neue Konfigurationsdatei aus der Vorlage und fügt die notwendigen Daten ein. Die erhaltene Konfigurationsdatei kann sofort mit nur einem Befehl angewendet werden: talm apply -f nodes/srv1.yaml

In jeder dieser Konfigurationsdateien setzt Talm einen eigenen Modeline, in dem die Endpunkte der Nodes und die Vorlagen, aus denen sie erstellt wurden, gespeichert werden. Dadurch wird es einfach, sie anzuwenden und zu aktualisieren, ohne zusätzliche Optionen anzugeben. Talm unterstützt alle gleichen Befehle wie das upstream Tool talosctl, ermöglicht jedoch, der Befehlszeile die Konfigurationsdatei der Node zu übergeben, zum Beispiel: talm dashboard -f nodes/srv1.yaml -f nodes/srv2.yaml -f nodes/srv3.yaml

zeigt ein interaktives Dashboard für alle drei Nodes an. Der Befehl: talm get routes -f nodes/srv1.yaml

listet die Routen auf der Node „srv1“ auf.

Bei Bedarf können die Konfigurationsdateien mit der Option „—full“ auf einen separaten PXE-Server exportiert werden, sodass die Nodes sie automatisch herunterladen können. So gewährleistet Talm eine flexible bare-metal Verwaltung Server, die ein einfaches Management im Einklang mit den besten Praktiken von GitOps ermöglicht.

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