我尝试创建了一个通过Ansible在VMware中自动生成VM清单报告的Playbook

在从vCenter导出VMware的VM库存信息时

    • ブラウザを起動

 

    • vCenterへアクセス

 

    • ログイン

 

    • クラスタやホストを選択

 

    • VMのエクスポートする情報を選択

 

    VMの情報をエクスポート

因为考虑到稍微有点麻烦,所以我使用Ansible创建了一个自动生成报告的Playbook。

Ansible-VMware-VM-清单报告生成器

Ansible-VMware-VM-库存报告生成器

通过上述存储库中的Playbook,可以将虚拟机清单信息导出为 HTML 和 CSV 格式。
目标是 vCenter 管理的所有虚拟机。

用法

创建venv环境

在这里,我们创建一个Python3的虚拟环境。

[root@206d9746e86c ~]# python3 -m venv venv
[root@206d9746e86c ~]# source venv/bin/activate
(venv) [root@206d9746e86c ~]#

克隆存储库

将ansible-vmware-vm-inventory-report-generator进行克隆。

(venv) [root@206d9746e86c ~]# git clone https://github.com/sky-joker/ansible-vmware-vm-inventory-report-generator.git

安装所需的模块

安装所需的模块。

(venv) [root@206d9746e86c ~]# cd ansible-vmware-vm-inventory-report-generator/
(venv) [root@206d9746e86c ansible-vmware-vm-inventory-report-generator]# pip install -r requirements.txt

更改Playbook中的变量

将以下变量根据环境做相应修改。

(venv) [root@206d9746e86c ansible-vmware-vm-inventory-report-generator]# vi ansible-vmware-vm-inventory-generator.yml
(snip)
  vars:
    hostname: vCenter IP                       # vCenterのIPか名前解決のできるホスト名に変更してください
    username: administrator@vsphere.local      # vCenterにログインするユーザーに変更してください
    password: ログインパスワードに変更してください       # vCenterにログインするユーザーのパスワードに変更してください
    export_type: html                          # エクスポートするタイプ、htmlまたはcsvに変更してください
(snip)

执行 Playbook。

修改Playbook中的变量后,执行Playbook。

(venv) [root@206d9746e86c ansible-vmware-vm-inventory-report-generator]# ansible-playbook ansible-vmware-vm-inventory-generator.yml
 [WARNING]: No inventory was parsed, only implicit localhost is available

 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'


PLAY [VMware VM Inventory Generator] ********************************************************************************************************************************

TASK [Gather fact for all vm] ***************************************************************************************************************************************
ok: [localhost]

TASK [Gather facts for vm summary] **********************************************************************************************************************************
ok: [localhost] => (item=molecule01)
ok: [localhost] => (item=AD01)
ok: [localhost] => (item=awx)
(snip)

如果顺利执行,将会生成报告。
当指定为html时,将生成html文件;当指定为csv时,将生成csv文件。

(venv) [root@206d9746e86c ansible-vmware-vm-inventory-report-generator]# ls vmware_vm_inventory_report.*
vmware_vm_inventory_report.csv  vmware_vm_inventory_report.html

通过使用Ansible,可以自动化信息获取和报告生成,就像这样 🙂

广告
将在 10 秒后关闭
bannerAds