根据Ansible playbook的主机运行角色

时间:2017-03-30 10:26:58

标签: ansible ansible-inventory

我必须使用两个剧本,因为我的主持人正在为每个角色进行更改。是否有任何解决方法,以便我可以在单一的剧本中完成这个?

剧本-1:

- name: Install & configure SSH on servers
  gather_facts: True
  sudo: yes
  hosts: zookeeper
  roles:
  - { role: discover-zookeeper,         tags: ['discover-zookeeper']}

剧本-2:

- name: Install & configure SSH on servers
  gather_facts: True
  sudo: yes
  hosts: kafka
  roles:
  - { role: discover-kafka,             tags: ['discover-kafka']}

我尝试过这种方法,但似乎并不是Ansible的工作方式......

playbook.yml:

- name: Install & configure SSH on servers
  gather_facts: True
  sudo: yes
  roles:
  - { role: discover-zookeeper,         tags: ['discover-zookeeper'],   hosts: zookeeper}
  - { role: discover-kafka,             tags: ['discover-kafka'],   hosts: kafka}

1 个答案:

答案 0 :(得分:3)

如果我看得正确,你说的是两部戏剧,而不是两部戏剧。因为一本剧本就像我理解你的问题一样,正是你所寻找的。举个例子:

- hosts: hostA
  roles:
    - roleA
    - roleB
- hosts: hostB
  roles:
    - roleC
    - roleD

(评论:请使用“(cmd / ctrl)+ k”以更易读的代码格式进行格式化)