从模板部署 VM 并设置 VM 和 DNS 名称

Deploy VM from template and set VM and DNS name

我正在使用 pyVmomi 从 vSphere 上的模板部署虚拟机, 一切正常,新 VM 获取我作为参数发送的名称,但我希望 DNS 名称 \ 主机名与 VM 相同。
有没有办法在进行实际克隆时设置主机名?
如果不是,我该如何在创建新 VM 后执行此操作?

这是我使用的部分代码:

# RelocateSpec
relospec = vim.vm.RelocateSpec()
relospec.datastore = datastore
relospec.pool = resource_pool

# ConfigSpec
configSpec = vim.vm.ConfigSpec()
configSpec.annotation = "This is the annotation for this VM"

# CloneSpec
clonespec = vim.vm.CloneSpec()
clonespec.location = relospec
clonespec.powerOn = power_on
clonespec.config = configSpec

print ("cloning VM...")
task = template.Clone(folder=destfolder, name=vm_name, spec=clonespec)
wait_for_task(task)

我认为你需要 clonespec.customization (vim.vm.customization.Specification)。您应该能够以某种方式在那里指定主机名。

哦,据我所知必须安装 VMware Tools 来宾 OS 自定义。

希望对您有所帮助。