Gibt es einen guten Terraform-Anbieter für die Bereitstellung von VMs auf KVM/QEMU

Ich verwende derzeit virt-install, um neue VMs auf KVM/QEMU zu erstellen, und verwende dann Terraform, um Software darauf zu konfigurieren. Ich möchte diese Schritte kombinieren und einen Terraform-Anbieter verwenden, um die VM-Erstellung zu automatisieren, aber dann das gesamte System mit einem einzigen Befehl herunterfahren können. Kann jemand einen geeigneten Terraform-Anbieter vorschlagen, um dies zu erreichen?

Ich verwende derzeit Matchbox mit dnsmasq, um meine VMs per PXE zu booten, sodass meine Lösung lediglich eine VM mit Terraform mit den erforderlichen Flags erstellen muss, zum Beispiel:

virt-install --name "test" --network=bridge=bridge0,mac=FF:FF:FF:FF:FF:FF --boot=hd,network --memory=1024 --vcpus=2 --pxe --disk pool=default,size=10 --os-type=linux --os-variant=generic --noautoconsole --events on_poweroff=preserve

und in der Lage sein, einfach zu laufen terraform destroy, um alles rückgängig zu machen

Antworten (2)

Der beste KVM-Anbieter, den ich bisher gefunden habe, ist terraform-provider-libvirt . Es bietet volle Unterstützung für die Verwaltung von KVM-VMs von Terraform und befindet sich noch in sehr aktiver Entwicklung.

Der einzige kleine Nachteil ist, dass Binärdateien derzeit nur für openSUSE verfügbar sind - andere Plattformen erfordern, dass Sie aus dem Quellcode kompilieren (wie Terraform, es ist in Go geschrieben).

Jetzt veröffentlicht terraform-provider-libvirt binäre Builds für Centos 7, Fedora 28, Ubuntu 18.04 und Open SUSE github.com/dmacvicar/terraform-provider-libvirt/releases
Ich glaube nicht, dass dieses Modul einen rein automatisierten --pxeStart bietet. Ja, Sie können Zünddateien direkt übergeben und die Frage stellen - brauchen Sie Matchbox überhaupt, aber ... persönlich möchte ich auch macAdresse und --pxeArgument übergeben, damit VM booten und die Zündung selbst übernehmen kann, ohne Terraform zu zwingen, sich damit zu befassen diese Konfigurationen. In meinem Fall habe ich einen dedizierten "Bootstrap" -Server, der von Ansible eingerichtet wird und über DHCP, DNS, Matchbox, TFTP und iPXE verfügt. Wenn ich also denselben Befehl ausführe, den der Autor angegeben hat, werden meine VMs automatisch ausgeführt und konfiguriert.
terraform-provider-libvirt rpm für CentOS7 gebaut, aber es hängt von einem für CentOS7 nicht vorhandenen Rerraform-Paket ab
Achtung: Nach so langer Zeit war es dem Betreuer dieses Dings auf OBS langweilig, EL7 zu unterstützen, und jetzt ist es weg. Großartige Neuigkeiten! Das SRPM für Fedora kann noch erstellt werden. Bringen Sie es zu Copr und sehen Sie, ob es für Sie gebaut wird. download.opensuse.org/repositories/systemsmanagement:/terraform/… Außerdem hat copr-be.cloud.fedoraproject.org/results/harbottle/main/… Ihr Repo für Terraform und eine Fülle anderer großartiger Tools.