Yesterday

"Домашний" Compute Cloud | Или как создавать машинки в Hyper-V без ошибок и с Cloud-Init

Мотивация сделать это

Небольшое предисловие. Я не нашел хороших гайдов или рабочих решений для моей задачи. А она следующая: как только я начал увлекаться всевозможными виртуализациями, кластерами и т.д. и т.п., возникла потребность быстро создавать машинки и настраивать их. Может быть, я плохо искал, но повторюсь, ничего не нашел. Поэтому спустя какое-то время я был вынужден написать Ansible Role для автоматического и легкого создания большого количества виртуальных машин.

Почему Ansible?
Изначально я думал написать связку Ansible и Terraform, а запускать их через Powershell скрипт, но из-за проблем провайдера Terraform я не смог этого сделать. И как мне кажется, так даже лучше, ибо Ansible можно запустить на любой системе, в отличие от того же Powershell.

А как же Proxmox и другие средства виртуализации + Terraform?
Для этого нужны дополнительные ресурсы. А мое решение подходит для тех, у кого есть ПК + ноутбук, или 2 ПК, или 2 ноутбука.

Как это сделать

Итак, вот мой репозиторий: https://github.com/ZloyTapochek/HyperV-VMs-Ansible-Role

Вам нужно его склонировать и перейти в директорию

git clone https://github.com/ZloyTapochek/HyperV-VMs-Ansible-Role.git
cd HyperV-VMs-Ansible-Role

Самое главное, с чем я боролся 2 дня - выполнение конвертации диска .img в .vhdx в WSL. Сейчас это звучит непонятно, но поймете, когда перейдете в репозиторий и прочитаете Readme.

Далее следуйте инструкции в Readme, заполняйте переменки. Я в свободное время буду дополнять ее и совершенствовать.

После всем подготовительных действий, запускайте эту команду и отдыхайте, пока программа все сделает за Вас.

ansible-playbook ./playbook.yml -i ./hosts.ini

Всем добра!