从模板部署 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 自定义。
希望对您有所帮助。
我正在使用 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 自定义。
希望对您有所帮助。