在我的 KVM 虚拟机管理程序上,我想添加一个带有 CentOS-7-x86_64-GenericCloud.qcow2 磁盘的新 VM,但使用我的自定义 cloudinit 配置,以确保新 VM 将以所有用户、正确的主机名和网络设置启动。我尝试在我的 virt-install 中包含带有 initrd-inject 和 extra-args 的配置,但是 extra-args 和 initrd-inject 仅适用于位置,而我使用的是磁盘路径。
我的问题是如何将我的 qcow2 磁盘与操作系统一起使用并向其中添加 cloudinit 配置?
答案1
创建两个名为meta-data
和的文件user-data
,分别包含实例元数据和您的 cloud-config YAML。如果您没有要提供的元数据,请创建一个空文件。
现在,创建一个包含这两个文件的卷标 ISO 映像cidata
。例如:
genisoimage -output nocloud.iso -volid cidata -joliet -rock user-data meta-data
最后,将 ISO 映像作为 CD-ROM 映像提供给虚拟机。cloud-init 不会尝试从网络读取,而是从 ISO 映像中获取实例元数据和您的配置。