Проект Cozystack выпустил Talm, менеджер конфигураций для Talos Linux

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3249
Зарегистрирован: 20.08.2022

#

Проект Cozystack выпустил Talm, менеджер конфигураций для Talos Linux
Дата публикации:Tue, 21 May 2024 14:12:37 +0300




Разработчики свободной PaaS-платформы Cozystack подготовили проект Talm, призванный упростить конфигурацию bare-metal серверов для Talos Linux, операционной системы для запуска Kubernetes, которая имеет Kubernetes-подобное API и настраивается одним Yaml-манифестом. Несмотря на то что Talm был создан для описания декларативной установки Cozystack, он не привязан конкретно к этой платформе и может использоваться для управления любыми конфигурациями Talos Linux. Проект развивается под лицензией MPL.



Необходимость разработки ещё одного менеджера конфигураций для Talos Linux обусловлена ориентацией на bare-metal серверы. Разработчики стремились создать наиболее простой интерфейс, похожий на Helm и kubectl, хорошо знакомые утилиты администраторам Kubernetes.



Ввиду того, что каждый физический сервер имеет различную конфигурацию (MAC-адреса, интерфейсы и диски), необходимо иметь отдельный конфигурационный файл под каждую ноду. Нужен простой менеджер, который позволял бы генерировать такие файлы конфигурации на основе собранной информации и декларативно обновлять их.



Для этого используется динамическая генерация файлов конфигурации по заданному шаблону. Есть готовые пресеты "generic" и "cozystack". Talm умеет на этапе генерации собирать информацию из Talos API и использовать её для результирующих конфигураций. Эти файлы конфигурации не содержат секретов, а только изменения, что позволяет удобно хранить их в Git и управлять ими декларативно.



В большинстве Talm повторяет структуру Helm, оперируя понятием чарт, в котором описываются шаблоны для генерации конфигурации. Поддерживаются Helm-подобные функции lookup для опроса Talos API напрямую и сбор дополнительных метаданных для генерации файлов конфигурации с использованием "go templates" и библиотеки sprig.



Команда:

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




Опрашивает ноду "1.2.3.4" по API, генерирует для неё новый файл конфигурации из шаблона, подставляя необходимые данные. Полученный файл конфигурации можно сразу же применить одной лишь командой:

talm apply -f nodes/srv1.yaml




Также в каждом таком файле конфигурации Talm устанавливает свой modeline, в котором запоминает эндпоинты ноды и шаблоны, из которых он был получен, чтобы их было удобно применять и обновлять без указания дополнительных опций. Talm поддерживает все те же команды, что и upstream утилита talosctl, но позволяет передавать им конфигурационный файл ноды, например:

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




выведет интерактивный дашборд для всех трёх нод. А команда:

talm get routes -f nodes/srv1.yaml



выведет список роутов на ноде "srv1"



При необходимости файлы конфигурации можно выгрузить с опцией "--full" на отдельный PXE-сервер, что позволяет нодам скачивать их автоматически. Таким образом, Talm сохраняет вариативность bare-metal серверов, обеспечивая удобное управление ими в соответствии с лучшими практиками GitOps.

Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=61223

Жизнь за Нер'зула!

Ответить