Cozystack har udgivet Talm, en konfigurationsmanager til Talos Linux

Udviklerne af den frie PaaS-platform Cozystack har lavet projektet Talm, som har til formål at forenkle konfigurationen af bare-metal servere til Talos Linux, et styresystem til at køre Kubernetes, der har et Kubernetes-lignende API og konfigureres med en enkelt Yaml-manifest. Selvom Talm er designet til at beskrive den deklarative installation af Cozystack, er det ikke specifikt knyttet til denne platform og kan anvendes til at styre enhver konfiguration af Talos Linux. Projektet udvikles under MPL-licensen.

Behovet for at udvikle endnu en konfigurationsmanager til Talos Linux skyldes fokus på bare-metal servere. Udviklerne ønskede at skabe det mest enkle interface, der ligner Helm og kubectl, som administratorer af Kubernetes er godt bekendte med.

Da hver fysisk server har en anderledes konfiguration (MAC-adresser, interfaces og diske), er det nødvendigt at have en separat konfigurationsfil for hver node. Der er brug for en enkel manager, der gør det muligt at generere sådanne konfigurationsfiler baseret på den indsamlede information og deklarativt opdatere dem.

Dette opnås ved hjælp af dynamisk generering af konfigurationsfiler baseret på en given skabelon. Der findes færdige presets "generic" og "cozystack". Talm kan på genereringsstadiet indsamle information fra Talos API og bruge denne information til de resulterende konfigurationer. Disse konfigurationsfiler indeholder ikke hemmeligheder, kun ændringer, hvilket gør det praktisk at opbevare dem i Git og styre dem deklarativt.

I de fleste tilfælde følger Talm strukturen af Helm, hvor begrebet chart anvendes til at beskrive skabeloner til generering af konfiguration. Helm-lignende funktioner som lookup understøttes til direkte forespørgsel af Talos API og indsamling af yderligere metadata til generering af konfigurationsfiler ved hjælp af "go templates" og biblioteket sprig.

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

Spørger noden "1.2.3.4" via API, genererer en ny konfigurationsfil til den ud fra skabelonen ved at indsætte de nødvendige data. Den genererede konfigurationsfil kan straks anvendes med en enkelt kommando: talm apply -f nodes/srv1.yaml

I hver konfigurationsfil fastsætter Talm sin egen modeline, der gemmer noderne og de skabeloner, de er baseret på, for at gøre det nemt at anvende og opdatere uden behov for at angive yderligere indstillinger. Talm understøtter de samme kommandoer som den oprindelige talosctl værktøj, men giver mulighed for at overføre konfigurationsfilen for noden, for eksempel: talm dashboard -f nodes/srv1.yaml -f nodes/srv2.yaml -f nodes/srv3.yaml

vil vise et interaktivt dashboard for alle tre noder. Og kommandoen: talm get routes -f nodes/srv1.yaml

vil vise en liste over ruter på noden "srv1"

Hvis det er nødvendigt, kan konfigurationsfilerne eksporteres med indstillingen "—full" til en separat PXE-server, hvilket gør det muligt for noderne at hente dem automatisk. På den måde bevarer Talm variabiliteten af bare-metal servere, hvilket giver nem administration i overensstemmelse med bedste GitOps-praksis.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster