我目前正在使用virt-install在KVM / QEMU上创建新的VM,然后使用Terraform在它们上配置软件。我想结合使用这些步骤,并使用Terraform提供程序来自动创建VM,但随后只需一个命令就可以拆除整个系统。任何人都可以建议合适的Terraform提供程序来实现此目标吗?

我目前正在使用带有dnsmasq的火柴盒来PXE引导我的VM,所以我要做的所有解决方案就是使用带有必要标志的Terraform创建VM例如:

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


,并且只需运行terraform destroy即可撤消所有内容

#1 楼

到目前为止,我找到的最好的KVM提供程序是terraform-provider-libvirt。它提供了从Terraform管理KVM VM的全面支持,并且仍处于非常活跃的开发中。

唯一的小缺点是二进制文件当前仅可用于openSUSE-其他平台要求您从源代码进行编译(例如Terraform,它是用Go语言编写的)。

评论


现在terraform-provider-libvirt为Centos 7,Fedora 28,Ubuntu 18.04和Open SU​​SE发行了二进制版本github.com/dmacvicar/terraform-provider-libvirt/releases

– mmv-ru
19 Mar 9 '19 at 0:45

我不认为该模块提供纯自动化的--pxe引导。是的,您可以直接传递点火文件,这是一个问题-您是否完全需要Matchbox,但是...我个人也想传递mac地址和--pxe参数,以便VM可以自行启动并抓住点火而无需强制Terraform处理这些配置。以我为例,我有专用的“引导”服务器,由Ansible设置,并具有DHCP,DNS,Matchbox,TFTP和iPXE。因此,基本上,如果我运行与作者提供的命令相同的命令,则我的VM将自动运行并进行配置。

– Dintars
19-10-7在10:20

#2 楼

现在也有针对CentOS,Fedora和Ubuntu的软件包:

https://software.opensuse.org/download/package?project=systemsmanagement:terraform&package=terraform-provider-libvirt

评论


为CentOS7构建的terraform-provider-libvirt rpm,但取决于CentOS7 rerraform软件包不存在

– mmv-ru
18-10-26在19:21

小心:过了很长时间,OBS上的这个东西的维护者厌倦了对EL7的支持,现在已经不复存在了。好消息! Fedora的SRPM可能仍会构建。将其带给copr,看看它是否会为您打造。 download.opensuse.org/repositories/systemsmanagement:/terraform / ...另外,copr-be.cloud.fedoraproject.org / results / harbottle / main / ...提供了有关terraform的仓库和大量其他工具。

–user2066657
20年7月5日在20:23