我已经阅读了很多关于VMWare的模块和插件的Ansible文档,但我仍然找不到一种方法来完成我认为相对简单的事情。我希望获取vCenter并提取清单树,这样我就知道vCenter中的所有数据中心、每个数据中心中有哪些集群以及每个集群中有哪些虚拟机,但我似乎找不到这样做的方法。
我希望收集和整理有关vCenter上的每个虚拟机的信息,我几乎可以使用dynamic inventory插件community.vmware.vmware来做到这一点_虚拟机_库存。但是,它收集的关于每个虚拟机的数据似乎都不包括每个虚拟机所在的数据中心和集群。
某些VMWare模块要求您指定虚拟机所在的数据中心或集群,因此如果没有此信息,就无法完全管理vCenter。人们仍然需要外部信息源,以便能够将整个vCenter转换为所需的状态。
我是不是漏掉了什么?有没有什么方法可以使用vSphere中的VMWare模块和插件来获得Ansible web客户端提供的库存树结构?
发布于 2020-11-04 23:25:48
使用vmware如何_虚拟机_信息模块?vmware_虚拟机_info可以获取每个虚拟机的归属信息。
---
- name: Example Playbook
hosts: localhost
gather_facts: false
tasks:
- name: Gather all vm info
vmware_vm_info:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: false
register: gather_all_vm_info_result
- debug:
msg:
- "VM Name{% raw %}:{% endraw %} {{ item.guest_name }}"
- "Datacenter Name{% raw %}:{% endraw %} {{ item.datacenter }}"
- "Cluster Name{% raw %}:{% endraw %}: {{ item.cluster }}"
- "ESXi Name{% raw %}:{% endraw %} {{ item.esxi_hostname }}"
- "Folder Name{% raw %}:{% endraw %} {{ item.folder }}"
loop: "{{ gather_all_vm_info_result.virtual_machines }}"
输出示例
"msg": [
"VM Name: test_vm1",
"Datacenter Name: DC",
"Cluster Name:: Cluster",
"ESXi Name: esxi-host.example.com",
"Folder Name: /DC/vm"
]
https://stackoverflow.com/questions/64668909
复制相似问题