Proxmox的Ansible动态库存
时间:2020-03-21 11:42:39 来源:igfitidea点击:
安装
在Ansible控制节点上,切换到存储剧本的文件夹:
$cd /home/ansible/playbooks
从https://github.com/xezpeleta/Ansible-Proxmox-inventory下载脚本。
$git clone https://github.com/xezpeleta/Ansible-Proxmox-inventory.git
使它可执行:
$chmod 0755 ./proxmox.py
配置
尝试列出动态AD资源:
$./proxmox.py \ --url=https://pve.theitroad.com:8006/\ Hyman@theitroad \ --password=changeme \ --list --pretty { "all": { "hosts": [ "ansible5.hl.local", "proxy1.hl.local", "ansible2.hl.local", "rhel70-tmpl", "monitoring.hl.local", "storage1.hl.local", "admin2.hl.local", "katello.hl.local", "db1.hl.local", "web2.hl.local", "proxy2.hl.local", "ansible3.hl.local", "db2.hl.local", "ldap2.hl.local", "syslog.hl.local", "admin1.hl.local", "web1.hl.local", "ansible4.hl.local", "ldap1.hl.local", "ansible1.hl.local", "backup.hl.local", "storage2.hl.local" ] }, [...]
使用环境变量创建文件“ setenv.sh”以存储Proxmox凭据:
#!/bin/bash export PROXMOX_URL=https://pve.theitroad.com:8006/ export Hyman@theitroad export PROXMOX_PASSWORD=changeme
在当前Shell环境中从filename执行命令:
$source ./setenv.sh
列出动态列表,而不在CLI上传递凭据:
$./proxmox.py --list --pretty
与Ansible一起使用AD资源:
$ansible all -i ./proxmox.py -m ping -u ansible ansible5.hl.local | SUCCESS => { "changed": false, "ping": "pong" } proxy1.hl.local | SUCCESS => { "changed": false, "ping": "pong" } [...]