1. 程式人生 > >ansible roles 介紹和使用

ansible roles 介紹和使用

目錄

roles

roles 介紹

ansible 自1.2版本引入的新特性,用於層次性、結構化地組織playbook。roles能夠根據層次結構自動裝在邊樑文傑、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。簡單來講,roles就是通過分別將變數、檔案、任務、模組以及處理器放置於單獨的目錄中,並可以邊界的include他們的一種機制。角色一般基於主機構建服務的場景中,但也可以是用於構建守護程序等場景中。

一個roles的案例如下所示:

site.yml
wevservers.yml
fooservers.yml
roles/
  common/
    files/
    templates/
    tasks/
    handlers/
    vars/
    meta/
  wevservers/
    files/
    templates/
    tasks/
    handlers/
    vars/
    meta/

而在playbook中,可以這樣使用roles:

-hosts: wevservers
 roles:
 - common
 - wevservers

也可以向roles傳遞引數,例如:

- hosts: webservers
  roles:
  - common
  - { role: foo_app_instance, dir: '/opt/a', port: 5000 }
  - { role: foo_app_instance, dir: '/opt/b', port: 5001 }