Zhvilluesit e platformës së lirë PaaS Cozystack kanë përgatitur projektin Talm, i cili ka për qëllim të thjeshtojë konfigurimin e serverëve bare-metal për Talos Linux, një sistem operativ për të drejtuar Kubernetes, i cili ka një API të ngjashme me Kubernetes dhe konfigurohet me një Yaml manifest. Megjithëse Talm është krijuar për të përshkruar instalimin deklarativ të Cozystack, ai nuk është i lidhur veçanërisht me këtë platformë dhe mund të përdoret për të menaxhuar çdo konfigurim Talos Linux. Projekti zhvillohet nën licencën MPL.
Nevoja për të zhvilluar një menaxher tjetër konfiguracionesh për Talos Linux është e motivuar nga orientimi drejt serverëve bare-metal. Zhvilluesit synuan të krijojnë një ndërfaqe sa më të thjeshtë, të ngjashme me Helm dhe kubectl, mjete të njohura për administratorët e Kubernetes.
Pasi çdo server fizik ka një konfigurim të ndryshëm (adresat MAC, ndërfaqet dhe diskët), është e nevojshme të ketë një skedar konfigurimi të veçantë për çdo nodë. Nevojitet një menaxher i thjeshtë që të mundësojë gjenerimin e këtyre skedarëve të konfigurimit bazuar në informacionin e mbledhur dhe t'i përditësojë ato deklarativisht.
Për këtë, përdoret gjenerimi dinamik i skedarëve të konfigurimit sipas një shablli. Janë të gatshme presetet "generic" dhe "cozystack". Talm është në gjendje të mbledhë informacion nga Talos API gjatë gjenerimit dhe ta përdorë atë për konfigurimet përfundimtare. Këta skedarë konfigurimi nuk përmbajnë sekrete, por vetëm ndryshimet, çka e lejon ruajtjen e tyre në Git dhe menaxhimin e tyre deklarativ.
Në shumicën e rasteve, Talm përsërit strukturën e Helm, duke operuar me konceptin e chart, në të cilin përshkruhen shabllonat për gjenerimin e konfigurimit. Mbështeten funksionet e ngjashme me Helm për të bërë pyetje direkt në Talos API dhe për të mbledhur meta të tjera për gjenerimin e skedarëve të konfigurimit duke përdorur "go templates" dhe librarinë sprig.
Ekipi: talm template -t templates/controlplane.yaml -e 1.2.3.4 -n 1.2.3.4 > nodes/srv1.yaml
Kërkon nodën "1.2.3.4" përmes API, gjeneron për të një skedar të ri konfigurimi nga shablli, duke futur të dhënat e nevojshme. Skedari i marrë i konfigurimit mund të aplikohet menjëherë me një komandë: talm apply -f nodes/srv1.yaml
Gjithashtu, në çdo skedar të tillë konfigurimi, Talm vendos modelin e tij, në të cilin ruan endpoint-in e nodës dhe shabllonat nga të cilat është marrë, për t'i aplikuar dhe përditësuar ata lehtësisht pa treguar opsione shtesë. Talm mbështet të njëjtat komanda si utilitarja upstream talosctl, por lejon kalimin e skedarit të konfigurimit të nodës, për shembull: talm dashboard -f nodes/srv1.yaml -f nodes/srv2.yaml -f nodes/srv3.yaml
do të nxjerrë një dashboard interaktiv për të tri nodat. Dhe komanda: talm get routes -f nodes/srv1.yaml
do të nxjerrë një listë routes në nodën "srv1"
NĂ«se Ă«shtĂ« e nevojshme, skedarĂ«t e konfigurimit mund tĂ« eksportohen me opsionin "âfull" nĂ« njĂ« server tĂ« veçantĂ« PXE, qĂ« mundĂ«son nodave tĂ« shkarkojnĂ« ato automatikisht. KĂ«shtu, Talm ruan variabilitetin e bare-metal servera, duke siguruar menaxhim tĂ« lehtĂ« sipas praktikave mĂ« tĂ« mira GitOps.
Burimi: opennet.ru
