通过 python 访问 vSphere ESX/ESXi 服务器

通过 python 访问 vSphere ESX/ESXi 服务器

我想自动获取当前在 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 对话。

相关内容