Cozystacki vabade PaaS-platvormi arendajad on valmistanud projekti Talm, mis lihtsustab bare-metal serverite konfigureerimist Talos Linuxi jaoks, operatsioonisĂŒsteemi Kubernetes'i tööks, millel on Kubernetes'ile sarnane API ja mida saab seadistada ĂŒhe Yaml-manifestiga. Ehkki Talm loodi Cozystacki deklaratiivse paigaldamise kirjeldamiseks, ei ole see otseselt seotud selle platvormiga ning seda saab kasutada igasuguste Talos Linuxi konfiguratsioonide haldamiseks. Projekt areneb MPL-litsentsi alusel.
Veel ĂŒhe Talos Linuxi konfiguratsioonihalduri arendamise vajadus tuleneb keskendumisest bare-metal serveritele. Arendajad soovisid luua lihtsaimat liidest, mis meenutab Helm ja kubectl, mis on Kubernetes'i administraatoritele tuttavad utiliidid.
Kuna iga fĂŒĂŒsilisel serveril on erinev konfiguratsioon (MAC-aadressid, liidesed ja kettad), on vajalik iga sĂ”lme jaoks eraldi konfiguratsioonifail. Vajaliku on lihtne haldur, mis vĂ”imaldab genereerida selliseid konfiguratsioonifaile kogutud teabe pĂ”hjal ja deklareerida nende uuendamist.
Selleks kasutatakse konfiguratsioonifailide dĂŒnaamilist genereerimist ettenĂ€htud mallide pĂ”hjal. Saadaval on valmis seadistused âgenericâ ja âcozystackâ. Talm suudab genereerimise etapis koguda teavet Talos API-st ja kasutada seda lĂ”ppkonfiguratsioonide jaoks. Need konfiguratsioonifailid ei sisalda salajasi andmeid, vaid ainult muudatusi, mis vĂ”imaldab neid mugavalt hoida Git-is ja hallata neid deklaratiivselt.
Enamikus Talm kordab Helm-i struktuuri, kĂ€sitledes mĂ”istet chart, milles on kirjas mallid konfiguratsiooni genereerimiseks. Toetatakse Helm-i sarnaseid lookup-funktsioone Talos API otse kĂŒsimiseks ja lisametainfo kogumiseks konfiguratsioonifailide genereerimiseks, kasutades âgo templatesâ ja sprigi teeki.
KĂ€sk: talm template -t templates/controlplane.yaml -e 1.2.3.4 -n 1.2.3.4 > nodes/srv1.yaml
KĂŒsib sĂ”lme â1.2.3.4â API kaudu, genereerib selle jaoks uue konfiguratsioonifaili mallist, asendades vajalikud andmed. Saadud konfiguratsioonifaili saab kohe rakendada ĂŒhe kĂ€suga: talm apply -f nodes/srv1.yaml
Igas sellises konfiguratsioonifailis seab Talm oma mudelijoonise, kus salvestatakse sÔlme lÔpp-punktid ja mallid, millest see on saadud, et neid oleks mugav rakendada ja uuendada ilma tÀiendavate valikute nÀitamiseta. Talm toetab kÔiki samu kÀske, mis upstream utiliit talosctl, kuid vÔimaldab edastada neile sÔlme konfiguratsioonifaili, nÀiteks: talm dashboard -f nodes/srv1.yaml -f nodes/srv2.yaml -f nodes/srv3.yaml
kuvab interaktiivse juhtpaneeli kÔigi kolme sÔlme jaoks. Ja kÀsk: talm get routes -f nodes/srv1.yaml
nÀitab sÔlmes «srv1» marsruutide loendi.
Vajadusel saab konfiguratsioonifailid eksportida valikuga «âfull» eraldi PXE-serverisse, mis vĂ”imaldab sĂ”lmedel need automaatselt alla laadida. Nii sĂ€ilitab Talm bare-metal'i variatiivsuse serverite, tagades nende mugava haldamise vastavalt parimatele GitOps'i praktikale.
Allikas: opennet.ru
