Ansible:从一组主机获取变量

时间:2019-05-09 14:59:28

标签: ansible

我有一组服务器,例如:

[mygroup]
server1
server2
server3

是否有办法使变量mygroup中的所有主机串联在一起?

示例:

server1:80,server2:80,server3:80

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

- hosts: localhost
  gather_facts: false
  tasks:
    - debug:
        msg: "{{ groups.mygroup|map('regex_replace', '(.*)', '\\1:80')|list|join(',') }}"

如果我的清单中有主机host0host1host2,则会产生:

TASK [debug] **********************************************************************************
ok: [localhost] => {
    "msg": "host2:80,host1:80,host0:80"
}