我们可以通过Packer(不是模板(创建Proxmox虚拟机吗? 因为就我而言,它会创建一个 VM,而不是停止它并使其成为模板。我不需要模板,我需要虚拟机
muhammadfaizanyounus@Muhammads-MacBook-Pro proxmox % packer build test3.json
proxmox: output will be in this color.
==> proxmox: Creating VM
==> proxmox: Starting VM
==> proxmox: Waiting 3m0s for boot
==> proxmox: Typing the boot command
==> proxmox: Using ssh communicator to connect: aaa.bbb.ccc.ddd
==> proxmox: Waiting for SSH to become available...
==> proxmox: Connected to SSH!
==> proxmox: Stopping VM
==> proxmox: Converting VM to template
==> proxmox: Adding a cloud-init cdrom in storage pool local-lvm
Build 'proxmox' finished.
==> Builds finished. The artifacts of successful builds are:
--> proxmox: A template was created: 152
就是这样... 至于我,在Packer过程结束时,我在VM conf文件上运行sed命令以从"模板:1"更改为"模板:0"
问候
Packer是一个创建"黄金映像"而不是VM的工具,所以我认为这是不可能的。
引自 https://www.packer.io/docs
Packer 是一个开源工具,使您能够从单个源模板为多个平台创建相同的计算机映像。一个常见的用例是创建整个组织的团队可以在云基础架构中使用的"黄金映像"。
你可以看看其他工具来做你想做的事情,比如Terraform(也来自HashiCorp(或salt-cloud(来自Saltstack/Salt项目(。但我认为两者都需要图像才能使用。
感谢弗雷迪·莱热
这是将模板转换为 VM 并返回的非常好的快速方法。
我只是添加一些注释。
虚拟机配置文件位于 pmx 节点本身,您应该有足够的权限访问它
对于 ProxmoxVE 7.2 位置是/etc/pve/nodes/<node_name>/qemu-server/<vm-id>.conf
此外,我在 Packer 中没有看到在 pmx 节点上执行命令的设计机会。仅在 Packer 创建的 VM 上。
我认为在创建 VM 后,您可以手动运行如下内容:
ssh -i pmx_node_key root@node_ip sed 's/template: 1/template: 0/' <path_to_vm_config_file>"