2016-04-27 186 views
0
- hosts: filebeat_servers 
    remote_user: x 
    roles: 
    - install_Filebeat 

- hosts: elasticsearch_server 
    remote_user: x 
    roles: 
    - install_Elasticsearch 

在這段代碼中,同一個remote_user被重複了兩次。在這個例子中,它很好。但是如果在同一個remote_user中仍然有許多不同的角色呢?有沒有什麼辦法來優化和重構這段代碼,以便通用的remote_user只有一行?Ansible playbook>如何執行與不同主機不同的角色

回答

0

當然,你創建一個組這些主機:

[groupForHostsWithUserX] 
filebeat_server 
elasticsearch_server 

,並設置REMOTE_USER爲一組VAR:

/group_vars/groupForHostsWithUserX.yml

remote_user: x

+0

抱歉,我不不明白爲什麼後綴是-servers,你是什麼意思? – Rui

+0

此外,如何使用這個group_vars? – Rui

+0

這只是一個名字。你可以將你想要的任何主機分組,也可以分組。然後在group_vars中的文件中設置一個變量,並將其用於任務/角色/等中的任何位置。還有其他方法可以執行此操作,請參閱:http://docs.ansible.com/ansible/intro_inventory.html –

相關問題