Hlavní navigace

Projekt Cozystack vydal Talm, manažer konfigurací pro Talos Linux

31. 5. 2024

Sdílet

Talos Autor: Talos

Vývojáři svobodné platformy Cozystack (PaaS) vydali nástroj Talm, jehož účelem je zjednodušit konfiguraci serverů s Talos Linuxem, operačním systémem pro nasazení Kubernetes, který má podobné API jako samotné Kubernetes. Přestože byl Talm původně vytvořen pro deklarativní instalaci Cozystack, není specificky vázán na tuto platformu a lze ho použít pro správu jakýchkoliv konfigurací Talos Linuxu.

Nástroj řeší zásadní problémy s konfigurací jako jsou decentralizované konfigurační soubory, jejich variabilita a šance špatné konfigurace při replikaci na vícero serverů.
Motivací vývoje tohoto nástroje bylo zjednodušení celého konfiguračního procesu a odstranění těchto nedostatků. Nástroj poskytuje konfigurační management velice podobný nástrojům Helm a Kubectl, které jsou dobře známé správcům Kubernetes.
Projekt je vyvíjen pod licencí MPL.

Vzhledem k tomu, že má každý oddělený fyzický server různou konfiguraci jako jsou např. IP adresy, rozhraní a disky, bylo v minulosti nezbytné mít oddělený konfigurační soubor pro každý z nich. Talm umožňuje dynamicky generovat tyto konfigurační soubory na základě předdefinovaných šablon a shromážděných metadat z API Talos serverů a deklarativně tyto soubory aktualizovat. K dispozici jsou předpřipravené šablony typu "generic" a "cozystack" a vygenerované konfigurační soubory neobsahují žádná tajemství (secrets), pouze změny, což zajišťuje pohodlné uchovávání ve verzovacích systémech a jejich deklarativní nasazení.

Talm v mnoha ohledech opakuje strukturu Helm a používá jeho terminologii např. pojem "chart", ve kterém jsou popsány šablony pro generování konfigurace. Podporovány jsou Helm-podobné funkce jako např. "lookup" pro, již zmíněné, přímé dotazování se na Talos API a shromažďování dodatečných metadat. Pro generování konfiguračních souborů jsou, pod pokličkou, použity "go templates" a knihovna sprig.

Následující příkaz se dotazuje na API serveru "1.2.3.4", generuje pro něj nový konfigurační soubor a schromažďuje potřebná metadata:

talm template -t templates/con­trolplane.yaml -e 1.2.3.4 -n 1.2.3.4 > nodes/srv1.yaml

Výstupem je konfigurační soubor, kterým lze okamžitě aplikovat konfiguraci na příslušný server pomocí příkazu:

talm apply -f nodes/srv1.yaml

Každý takový konfigurační soubor Talmu také obsahuje svůj "modeline", ve kterém si uchovává historii koncových bodů serveru a šablony, z nichž byl vygenerován,
což usnadňuje jejich aplikaci a aktualizaci bez nutnosti další složité konfigurace.

Talm podporuje veškeré příkazy z upstream nástroje "talosctl" a umožňuje jim předávat konfigurační soubor serveru, například:

talm dashboard -f nodes/srv1.yaml -f nodes/srv2.yaml -f nodes/srv3.yaml

Výstupem tohoto příkazu je spuštění interaktivního dashboardu v příkazové řádce, podobný htopu, obsahujícící potřebné informace, v tomto případě všech třech serverů.

Příkaz talm get routes -f nodes/srv1.yaml, podobný příkazu "kubectl get ..." zobrazí seznam síťové konfigurace na serveru "srv1".

Nástroj umožňuje různé pokročilé vlastnosti jako např. generování konfiguračních souborů pro PXE server a to s parametrem --full.
Jednotlivé servery potom mohou tuto konfiguraci automaticky stahovat.

Talm zmíněnými způsoby zachovává variabilitu Linux Talos serverů a zajišťuje pohodlný management konfigurace z centrálního bodu v souladu s postupy GitOps.

Tato zprávička byla zaslána čtenářem serveru Root.cz pomocí formuláře Přidat zprávičku. Děkujeme!

Našli jste v článku chybu?
  • Aktualita je stará, nové názory již nelze přidávat.
  • 31. 5. 2024 17:30

    RDa

    Nekdy by bylo fajn pouzit google, pro zjisteni zda nazev noveho fancy projektu nahodou neni uz pouzit jinde.. tohle je fakt nestesti.

Autor zprávičky