Ansible - 如何通过环境变量在清单文件中添加客户端列表
Ansible - How to add the client list in inventory file through environment variable
我有以下库存文件
[vm_group]
xyz001.hq.company.com
xyz002.hq.company.com
[vm_group:vars]
ansible_connection=winrm
ansible_winrm_transport=ntlm
ansible_port=5986
ansible_winrm_server_cert_validation=ignore
我有一个名为 CLIENT_LIST
的环境变量
echo $CLIENT_LIST
xyz001.hq.company.com,xyz002.hq.company.com
我怎样才能做这样的事情
[vm_group]
${CLIENT_LIST}
以便动态设置库存组。
我尝试按照上面显示的方式进行操作,但它没有获取环境变量值。
您对动态列表还有其他建议吗?不过,环境变量将是我的首选。
你的问题有两种答案:多次播放,或者动态库存插件;静态清单文件中没有变量替换之类的东西
对于多人游戏版本,可以使用add_host:
:
- hosts: localhost
connection: local
tasks:
- add_host:
name: '{{ item }}'
groups:
- vm_group
with_items: '{{ lookup("env", "CLIENT_LIST").split(",") }}'
- hosts: vm_group
# and you're of to the races
对于动态库存版本,世界是你的牡蛎:https://docs.ansible.com/ansible/2.9/plugins/inventory.html#plugin-list
我有以下库存文件
[vm_group]
xyz001.hq.company.com
xyz002.hq.company.com
[vm_group:vars]
ansible_connection=winrm
ansible_winrm_transport=ntlm
ansible_port=5986
ansible_winrm_server_cert_validation=ignore
我有一个名为 CLIENT_LIST
的环境变量echo $CLIENT_LIST
xyz001.hq.company.com,xyz002.hq.company.com
我怎样才能做这样的事情
[vm_group]
${CLIENT_LIST}
以便动态设置库存组。
我尝试按照上面显示的方式进行操作,但它没有获取环境变量值。
您对动态列表还有其他建议吗?不过,环境变量将是我的首选。
你的问题有两种答案:多次播放,或者动态库存插件;静态清单文件中没有变量替换之类的东西
对于多人游戏版本,可以使用add_host:
:
- hosts: localhost
connection: local
tasks:
- add_host:
name: '{{ item }}'
groups:
- vm_group
with_items: '{{ lookup("env", "CLIENT_LIST").split(",") }}'
- hosts: vm_group
# and you're of to the races
对于动态库存版本,世界是你的牡蛎:https://docs.ansible.com/ansible/2.9/plugins/inventory.html#plugin-list