运行 角色根据 Ansible 剧本中的主机
Run roles according to host from Ansible playbook
我必须使用两本剧本,因为我的主持人会针对每个角色进行更改。有什么解决方法可以让我在单个剧本中完成这项工作吗??
剧本-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}
如果我没看错的话,你说的是两部剧本,而不是两部剧本。因为据我了解您的问题,剧本正是您要找的东西。例如:
- hosts: hostA
roles:
- roleA
- roleB
- hosts: hostB
roles:
- roleC
- roleD
(评论:请使用“(cmd/ctrl)+ k”以更易读的代码样式进行格式化)
我必须使用两本剧本,因为我的主持人会针对每个角色进行更改。有什么解决方法可以让我在单个剧本中完成这项工作吗??
剧本-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}
如果我没看错的话,你说的是两部剧本,而不是两部剧本。因为据我了解您的问题,剧本正是您要找的东西。例如:
- hosts: hostA
roles:
- roleA
- roleB
- hosts: hostB
roles:
- roleC
- roleD
(评论:请使用“(cmd/ctrl)+ k”以更易读的代码样式进行格式化)