![通过 python 访问 vSphere ESX/ESXi 服务器](https://linux22.com/image/515829/%E9%80%9A%E8%BF%87%20python%20%E8%AE%BF%E9%97%AE%20vSphere%20ESX%2FESXi%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我想自动获取当前在 vSphere 服务器上创建的虚拟机列表或数组(mac 地址/名称/资源池),并在 Python 应用程序中使用它。有人可以建议一个好的方法或解决方案吗?我对 vSphere 平台还不太熟悉。谢谢。
答案1
您可能应该看看 VMWare VIX API:
http://www.vmware.com/support/developer/vix-api/
不幸的是它不支持 Python。我不知道是否可以让 Python 使用 C 支持?您可以使用 perl 或 Powershell
如果必须是python那么就有pyvix:
http://sourceforge.net/projects/pyvix/
我从来没有用过它并且不知道它是否有效。
答案2
我最近发布了 pysphere:http://code.google.com/p/pysphere/
特别是对于你的情况
from pysphere import *
server = VIServer()
server.connect("your.esx.or.vcenter.hostname", "user", "password")
vms = server.get_registered_vms()
vm = server.get_vm_by_path(vms[0])
print vm.get_property("mac_address")
print vm.get_property("ip_address")
print vm.get_property("name")
print vm.get_resource_pool_name()
答案3
看看pyVmomi该项目是 VMware vSphere API 的官方 Python SDK,允许您管理 ESX、ESXi 和 vCenter。
此外,pyvmomi-社区-样本存储库包含很多示例。
答案4
现在是 Python 获得 vSphere/VMware 绑定的时候了。
我在 suds 上启动了一个 API。您可能想在 BitBucket 上关注(或加入)我的项目:
http://jkinred.bitbucket.org/psphere/
我是 Python 新手,但它至少会向您展示如何使用 suds 与 Web 服务 SDK 对话。