Зря комментаторы так негативно относятся. Я лично Cozystack и Talos Linux не видел, но, кажется, мне понятна задача которую они решают.Вот у меня есть несколько бареметал-серверов, которые я хочу провиженить под узел виртуализации/контейнеризации.
Чтобы вы понимали, эта задача исторически проклята, потому что тулчейн для ей решения - это ад.
Для начала вам нужно создать рабочее PXE/TFTP для работы с образами и сетевой загрузкой. Это нетривиальная задача, если в датацентре используется IP-фабрика spine-leaf, а не традиционная L2-фабрика в стиле Core-Aggregation-Access как в малом и среднем бизнесе. Ну допустим у вас уже есть выделенный контур управления инфраструктурой, содержащий в себе:
- DHCP, TFTP, PXE,
- репозиторий образов и конфигурации
- управляющая сетевая инфраструктура, которая работает с DHCP-релеями на ToR-свитчах
- специальный VLAN для PXE, который заведен как Native в транк на определенных сетевых портах.
Это всё как не так-то просто выстроить, но и не настолько проклято, как то что пойдёт дальше.
Ведь дальше начинается настоящий кекс:
1. Вы должны составить моделей материнских плат, серверных платформ и периферии к ним, зафиксировать и регламентировать модели
2. Далее вам нужно написать регламент для сборщиков, чтобы они под страхом смерти или, что еще хуже, увольнения ни в коем случае не перепутали райзеры и порты PCI-Express куда они пихают локальное NVMe, HBA, сетевки. Цель этой задачи получить предсказуемый результат PCI Bus Enumeration. И это аццкое проклятие, потому что конфиг будет под каждого вендора-модель-конфигурацию.
3. В идеале вам нужно еще построить на стороне управляющего контура сервис, работающий с BMC через их API, потому что иначе у вас будет слишком сложно. Хотябы ради конфигураций из BMC, включений и выключений.
Особенно всё это весело на многопроцессорных материнках без LOM, когда PXE будет работать только на сетевках на CPU1 или только на той сетевке, которая воткнута в конкретный райзер. Уровень рака зависит от вендора железа.
Просто на сервиспровайдерских развертываниях не бывает так, чтобы у вас была одна сеть на всё про всё. Так просто нельзя.
1. DHCP-сервер отдал образ для загрузки по PXE
2. После загрузки нужная сетевка должна получить снова параметры по DHCP и продолжить установку
3. Потом API-сервер в управляющем контуре должен осознать то, что там надискаверилось и выбрать конфигурацию
4. Потом вы должны скриптом поменять параметры сети. Обычно назначаются другие VLAN-ы и сервер оказывается в другой менеджмент-сети, а IP-адрес присваивается из пула вручную и записть прописывается в IPAM-базу.
Вы зря обвиняете людей в NIH. Ansible для этой задачи использовать не рекомендуется, потому что это push-оркестратор. А это как я понял pull-провиженинг.
Я могу ошибаться в том, чего конкретно добивается Cozystack, но я описал вполне конкретную задачу провиженинга бареметал инфраструктуры.
VMware исторически использует для решения SaltStack (Aria Automation)
У Microsoft есть великий и ужасный MDT. Хотя он никакой не ужасный, но местных от него попрыщит в основном, потому что там XML, а не YAML.
Вопрос почему Cozystack не использует Saltstack для меня открыт. Потому что он принадлежит варе?