IaC начинается с VM, которую страшно удалить
Крч, самый честный тест на IaC: можно ли удалить VM и получить её заново.
Не данные, понятно. Саму машину и всё, что делает её рабочей.
Если нельзя, значит к ней уже всё прибито: IP, пакеты, /etc, cron, сертификаты, ручные исключения и знания человека, который «помнит, почему тут так». Формально это виртуалка. Фактически — единственный экземпляр самой себя.
Каждый ручной фикс, который не вернулся в код, — ещё один гвоздь.
Terraform, Ansible, Kubernetes и Flux нужны не потому, что YAML чем-то благороднее SSH. Они вытаскивают разные гвозди.
Terraform делает VM, сеть и диски результатом описания, а не похода по панели.
Ansible делает пакеты, пользователей, сервисы и конфиги результатом playbook, а не истории команд в shell.
Kubernetes переносит управление с конкретной машины на workload и постоянно сводит факт к желаемому состоянию.
Flux берёт это состояние из Git и продолжает сверять с ним кластер.
GitLab CI проверяет и собирает изменение. Если pipeline один раз сделал kubectl apply и ушёл — это доставка. В GitOps-контуре кластер забирает изменение сам и не перестаёт его сверять.
Собираю небольшой учебный репозиторий, где этот переход будет виден целиком: Proxmox → Terraform → Ansible → Kubernetes → Flux, плюс GitLab CI.
OpenStack мне роднее, когда он уже нормально настроен. Но для такого входа он сам станет половиной курса. Proxmox тут нагляднее: сначала перед тобой обычная VM, которую можно потрогать руками. Потом по шагам видно, как она перестаёт быть особенной, а система — зависеть от её биографии.
Не ещё один склад манифестов. Хочу сделать переводчик из мира «зайди на сервер и поправь» в мир, где машину можно выбросить, а знание о системе останется.
Репозиторий ещё собираю.
Post #30
52