Het Cozystack-project heeft Talm uitgebracht, een configuratiebeheerder voor Talos Linux.

De ontwikkelaars van het gratis PaaS-platform Cozystack hebben het Talm-project voorbereid, dat is ontworpen om de configuratie van bare-metal servers voor Talos Linux te vereenvoudigen, een besturingssysteem voor het draaien van Kubernetes, dat een Kubernetes-achtige API heeft en met ƩƩn Yaml-manifest kan worden geconfigureerd. Hoewel Talm is gemaakt voor het beschrijven van de declaratieve installatie van Cozystack, is het niet specifiek aan dit platform gebonden en kan het worden gebruikt voor het beheren van elke configuratie van Talos Linux. Het project ontwikkelt zich onder de MPL-licentie.

De noodzaak om nog een configuratiemanager voor Talos Linux te ontwikkelen is te wijten aan de focus op bare-metal servers. De ontwikkelaars streefden naar het creƫren van de eenvoudigste interface, vergelijkbaar met Helm en kubectl, tools die goed bekend zijn bij Kubernetes-beheerders.

Aangezien elke fysieke server een andere configuratie heeft (MAC-adressen, interfaces en schijven), is er voor elke node een apart configuratiebestand nodig. Er is een eenvoudige manager nodig die dergelijke configuratiebestanden kan genereren op basis van verzamelde informatie en deze declaratief kan bijwerken.

Hiervoor wordt dynamische generatie van configuratiebestanden op basis van een gegeven sjabloon gebruikt. Er zijn kant-en-klare presets beschikbaar, zoals 'generic' en 'cozystack'. Talm kan tijdens het genereren informatie van de Talos API verzamelen en deze gebruiken voor de resulterende configuraties. Deze configuratiebestanden bevatten geen geheimen, alleen wijzigingen, wat het gemakkelijk maakt om ze in Git op te slaan en ze declaratief te beheren.

In de meeste gevallen herhaalt Talm de structuur van Helm, opererend met het concept van een chart, waarin sjablonen voor configuratiegeneratie worden beschreven. Helm-achtige functies zoals lookup worden ondersteund om rechtstreeks de Talos API te ondervragen en extra metadata te verzamelen voor de generatie van configuratiebestanden met behulp van 'go templates' en de sprig-bibliotheek.

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

Vraagt de node '1.2.3.4' via de API, genereert een nieuw configuratiebestand uit het sjabloon, waarbij de benodigde gegevens worden ingevuld. Het verkregen configuratiebestand kan onmiddellijk met slechts ƩƩn opdracht worden toegepast: talm apply -f nodes/srv1.yaml

In elk van deze configuratiebestanden stelt Talm zijn eigen modeline in, waarin het de knooppunten en sjablonen opslaat waaruit het is verkregen, zodat ze comfortabel kunnen worden toegepast en bijgewerkt zonder extra opties aan te geven. Talm ondersteunt alle commando's die ook de upstream-hulpmiddel talosctl heeft, maar stelt je in staat om het configuratiebestand van de knoop door te geven, bijvoorbeeld: talm dashboard -f nodes/srv1.yaml -f nodes/srv2.yaml -f nodes/srv3.yaml

zal een interactieve dashboard voor alle drie de knooppunten weergeven. En het commando: talm get routes -f nodes/srv1.yaml

z zal een lijst van routes op de knoop "srv1" weergeven

Indien nodig kunnen de configuratiebestanden met de optie "--full" naar een aparte PXE-server worden geƫxporteerd, waardoor de knooppunten ze automatisch kunnen downloaden. Zo behoudt Talm de variabiliteit van bare-metal servers, wat zorgt voor gebruiksgemak in overeenstemming met de beste GitOps-praktijken.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster