Назад к статьям

Перевожу домашний Proxmox-кластер на IaC: начало

Две ноды с момента их появления, а позже и третья нода, жили в режиме "настроил и забыл". Каждая VM и LXC — результат разового набора команд в консоли, без единой версии, без возможности воспроизвести с нуля. В какой-то момент это стало проблемой не гипотетически, а на практике: на всех виртуалках разные учётные данные, что в итоге привело к потере доступа к локальному Gitlab, используемого для участия в хакатоне, в самый неподходящий момент.

Решил разобраться системно и перейти на Ansible. Сразу расскажу, почему не пытаюсь переписать весь кластер целиком.

Не все VM одинаково важны. Есть критичные — то, от чего зависит доступ и данные (VPN до локалки, всё связанное с NAS, игровые и рабочие сервера, напирмер Gitlab), и есть менее важные, которые проще пересоздать заново, чем аккуратно мигрировать. Поэтому план такой: критичные сервисы перевожу на управляемую конфигурацию через Ansible вручную и осторожно, всё остальное — по мере пересоздания сразу строю через IaC, а не мигрирую задним числом.

Отдельно думаю, добавлять ли четвёртую физическую ноду — старый ноутбук Asus Zephyrus с неплохой начинкой (для своего времени). Из плюсов — потенциально больше вычислительных ресурсов, на которых можно запускать требовательные задачи. Минус - появление чётного числа нод ломает кворум кластера без дополнительных мер (QDevice или обнуление голосов для этой ноды), и не факт, что ноутбучное охлаждение справится с постоянной нагрузкой.

В следующих постах — как устроен репозиторий (роли, инвентарь, секреты через ansible-vault) и разбор первого перенесённого сервиса.