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 }

猜你喜欢

转载自www.cnblogs.com/winstom/p/9805898.html