Projekt Cozystack wydał Talm, menedżer konfiguracji dla Talos Linux

Deweloperzy otwartej platformy PaaS Cozystack przygotowali projekt Talm, który ma na celu uproszczenie konfiguracji serwerów bare-metal dla Talos Linux, systemu operacyjnego do uruchamiania Kubernetes, który posiada API podobne do Kubernetes i jest konfigurowany przy użyciu jednego manifestu Yaml. Chociaż Talm został stworzony do opisu deklaratywnej instalacji Cozystack, nie jest ściśle związany z tą platformą i może być używany do zarządzania dowolnymi konfiguracjami Talos Linux. Projekt rozwija się pod licencją MPL.

Potrzeba opracowania kolejnego menedżera konfiguracji dla Talos Linux wynika z orientacji na serwery bare-metal. Deweloperzy dążyli do stworzenia jak najprostszych interfejsów, podobnych do Helm i kubectl, dobrze znanych narzędzi administratorom Kubernetes.

Z uwagi na to, że każdy fizyczny serwer ma różne konfiguracje (adresy MAC, interfejsy i dyski), konieczne jest posiadanie oddzielnego pliku konfiguracyjnego dla każdego węzła. Potrzebny jest prosty menedżer, który umożliwi generowanie takich plików konfiguracyjnych na podstawie zebranych informacji i ich deklaratywne aktualizowanie.

Do tego celu wykorzystuje się dynamiczne generowanie plików konfiguracyjnych na podstawie ustalonego szablonu. Dostępne są gotowe zestawy "generic" i "cozystack". Talm potrafi na etapie generacji zbierać informacje z Talos API i wykorzystywać je w wynikowych konfiguracjach. Te pliki konfiguracyjne nie zawierają sekretów, a jedynie zmiany, co umożliwia wygodne przechowywanie ich w Git i zarządzanie nimi deklaratywnie.

W większości Talm powtarza strukturę Helm, operując pojęciem chart, w którym opisane są szablony do generacji konfiguracji. Obsługiwane są funkcje podobne do Helm lookup do bezpośredniego zapytania Talos API oraz zbierania dodatkowych metadanych do generowania plików konfiguracyjnych z wykorzystaniem „go templates” i biblioteki sprig.

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

Zapytuje węzeł „1.2.3.4” przez API, generuje dla niego nowy plik konfiguracyjny z szablonu, podstawiając potrzebne dane. Otrzymany plik konfiguracyjny można od razu zastosować jednym poleceniem: talm apply -f nodes/srv1.yaml

W każdym takim pliku konfiguracyjnym Talm ustawia swoją modelinę, w której zapisuje punkty końcowe węzła i szablony, z których został pozyskany, aby można je było łatwo stosować i aktualizować bez podawania dodatkowych opcji. Talm obsługuje te same polecenia, co narzędzie upstream talosctl, ale pozwala na przekazywanie mu pliku konfiguracyjnego węzła, na przykład: talm dashboard -f nodes/srv1.yaml -f nodes/srv2.yaml -f nodes/srv3.yaml

wyświetli interaktywny dashboard dla wszystkich trzech węzłów. A polecenie: talm get routes -f nodes/srv1.yaml

wyświetli listę tras na węźle „srv1”

W razie potrzeby pliki konfiguracyjne można wyeksportować z opcją „—full” na osobny serwer PXE, co pozwala węzłom na ich automatyczne pobieranie. W ten sposób Talm zachowuje zmienność bare-metal serwerów, zapewniając wygodne zarządzanie nimi zgodnie z najlepszymi praktykami GitOps.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster