LINUX.ORG.RU
ФорумAdmin

VPS, NixOS, IaC, нуб за терминалом

 , ,


0

1

Всем привет в этом чяте. Подскажите, а как сейчас у IaC-бояр принято сетапать машинки с нуля?

То есть постановка задачи следующая: вот есть у меня нулёвая виртуалка в облаке (пусть будет несколько, меня интересует самый правильный и самый обобщённый способ). Хостер — ноунейм. Допустим, я резко прозрел и хочу потыкать NixOS (нет, я всё ещё нежно люблю арчик и он у меня на всех личных машинах, но pets vs cattle).

В принципе, я могу просто закинуть туда установочный образ и дальше дрочиться руками до состояния «поднял сеть и SSH» (дальше очевидно), но я бы хотел сделать вот вообще правильно, в идеале чтобы у меня на рабочей станции был один конфиг всего™ и тулза «сделать за5.1сь». Совсем за5.1сь конечно не получится, т. к. у хостера нет даже CLI, но допустим я могу создать машинку руками, подключить к ней нужный загрузочный образ и вписать в нужный конфиг её IP-адрес, а всё остальное должно случиться автоматически. Если честно я ещё даже не знаю, как у хостера обстоят дела с сетью, но надеюсь что там тупо cloud-init какой-нибудь.

Есть идеи? Терраформ + специальный установочный образ? Что-то ещё?

sudo cast @t184256 -m «ну ты понял»

★★★★★

хочу потыкать NixOS

Почему бы не попробовать сначала Nix в Arch?

VPS

Только лишь для того, чтобы потыкать NixOS? QEMU-KVM + virt-manager или systemd-npaswn не хватает?

я всё ещё нежно люблю арчик и он у меня на всех личных машинах

А на серверах что? Обслуживание серверов на Arch требует бОльшего участия, чем на каком-нибудь RHEL. Rolling release же. Так, например, нормально автоматизировать установку обновлений каким-нибудь скриптом не получится, т. к. периодически потребуется кое-что поправлять после таких обновлений.

Терраформ + специальный установочный образ?

Да, самый правильный способ.

posixbit ★★
()
Ответ на: комментарий от posixbit

Только лишь для того, чтобы потыкать NixOS?

Нет, совмещаю неприятное с бесполезным.

А на серверах что?

На серверах тоже арчик.

intelfx ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Для деплоя без поддержки со стороны провайдера ты ничего не сделаешь. Разве что руками накатишь до стадии «SSH заработал».

Либо, если у провайдера таки есть какой-то API, просто добавь поддержку в NixOps. Вряд ли будет сложно. Ну или да, бери Terraform и вперёд. Официальный гайд тут: https://nixos.org/guides/deploying-nixos-using-terraform.html

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 2)

За NixOS не скажу, но могу сказать, как я это делаю. У моего провайдера OpenStack. Я загрузил туда Debian Cloud Image (формат qcow2). В Terraform всё настроил как надо. И в поле user_data передаю YAML для Cloud Init. Соответственно по этому YAML сервер полностью настраивается.

Если нет возможности указать cloud-init в интерфейсе, тогда хз. Ну подготовить свой образ, в котором его захардкодить, если хостер разрешает загружать свои образы, как вариант. Но в целом я бы поискал хостера, который таки даёт API хороший.

Вообще «классический» подход это Ansible и сначала я его использовал. Ему надо только ssh-соединение. Но потом оказалось, что мне возможностей cloud-init хватает.

vbr ★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от Tsukasa

Можно ещё собрать kexec образ, который и диск разобъет, и конфиг какой хочешь накатит, но это уже ручками писать нужно.

А можно подробнее (и примеры prior art так сказать)?

intelfx ★★★★★
() автор топика
24 сентября 2022 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.