"Домашний" 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
Всем добра!