从 ansible ini 文件生成主机列表

窗帘

无法使用ini插件读取此文件

$ cat hosts
[webservers]
www[01:50].example.com

表演

- hosts: localhost
  tasks:
    - debug:
        msg: "{{ item }}"
      with_ini:
        - '.* section=webservers file=hosts re=True'

ok: [localhost] => (item=11].example.com) => {
    "msg": "11].example.com"
}

是否可以生成这样的主机列表?

[webservers]
www01.example.com
www02.example.com
www03.example.com
www04.example.com
www05.example.com
www06.example.com
弗拉基米尔·博特卡

问:“是否可以生成类似于……的主机列表?”

答:是的。使用模板例如

$ cat hosts
[webservers]
www[01:50].example.com

$ cat play.yml
- hosts: localhost
  vars:
    my_group: webservers
  tasks:
    - template:
        src: hosts-template.j2
        dest: /etc/ansible/hosts-webservers

$ cat hosts-template.j2 
[{{ my_group }}]
{% for my_host in groups[my_group] %}
{{ my_host }}
{% endfor %}

笔记

  • 库存范围将扩大。
  • 如果您的 ansiblehosts清单文件位于非标准位置(即不在 中/etc/ansible/hosts),则必须在启动剧本时加载它:ansible-playbook -i /path/to/inventory/hosts play.yml

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章