gpt4 book ai didi

python - 如何使用 vmware pyvmomi 获取虚拟机的 ipstack?

转载 作者:行者123 更新时间:2023-12-01 06:37:54 28 4
gpt4 key购买 nike

有没有办法在 vmware 中获取虚拟机的 IPStack?特别是在 python 中使用 pyvmomi

https://pubs.vmware.com/vi3/sdk/ReferenceGuide/vim.vm.GuestInfo.html#field_detail不再显示 ip 堆栈,并且 vm.summary 返回大量信息,包括单个 IP 和每个网卡,但不显示每个卡连接到哪个 ip。

https://github.com/vmware/pyvmomi/issues/769似乎表明在某个时刻有一个包含 IPStack 的输出。

当您通过 html 界面登录到 vcenter 时,我有许多虚拟机,它们具有多个可查看的 IP 地址。每个IP都是可见的,使用mob就可以访问

VIRTUALCENTERNAME/mob/?moid=vm%2dVM_NUMBER&doPath=guest%2eipStack 我可以看到我想要的信息,但如何通过 python 提取它

代码片段:

si = SmartConnectNoSSL(host=MY_VCENTER, user='MYUSERNAME',pwd=MYPASSWORD, port=MYPORT)
atexit.register(Disconnect, si)
content = si.RetrieveServiceContent()
container = content.rootFolder
recursive = True
viewTypeComputeResource = [vim.ComputeResource]
containerView = content.viewManager.CreateContainerView(container, viewTypeComputeResource, recursive) # create container view
clusters = containerView.view
for cluster in clusters:
hosts = cluster.host
for each_host in hosts:
vms = each_host.vm
for vm in vms:
print(vm.summary)

此代码运行并让您从根文件夹到达虚拟机及其摘要,其中提供了 guest 信息、以太网信息等。我认为 vm.summary.guestInfo (或不同的上限和非上限)会有所帮助,但没有。

最佳答案

这些虚拟机必须安装并运行 VMware Tools,因此首先要验证虚拟机是否已启动且 VMware Tools 正在运行。

之后,您应该能够从以下任一位置检索该信息:

  • vm.guest.ip地址
  • vm.summary.guest.ipAddress

关于python - 如何使用 vmware pyvmomi 获取虚拟机的 ipstack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59583261/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com