ansible
  • 安装
  • 第一个ansible例子
  • playbook
  • role
  • ansible模块
    • copy模块
    • file模块
    • yum模块
    • selinux模块
    • service_facts
  • notify与handler
  • register
  • 实战
    • 安装k8s集群
  • FAQ
Powered by GitBook
On this page
  • 一、什么场景下会使用Role
  • 二、Role示例
  • Reference

Was this helpful?

role

一、什么场景下会使用Role

假如我们现在有3个被管理主机,第一个要配置成httpd,第二个要配置成php服务器,第三个要配置成MySQL服务器。我们如何来定义playbook?

第一个play用到第一个主机上,用来构建httpd,第二个play用到第二个主机上,用来构建php,第三个play用到第三个主机上,用来构建MySQL。这些个play定义在playbook中比较麻烦,将来也不利于模块化调用,不利于多次调。比如说后来又加进来一个主机,这个第4个主机既是httpd服务器,又是php服务器,我们只能写第4个play,上面写上安装httpd和php。这样playbook中的代码就重复了。

为了避免代码重复,roles能够实现代码重复被调用。定义一个角色叫websrvs,第二个角色叫phpappsrvs,第三个角色叫dbsrvs。那么在playbook中如下来调用:

hosts: host1
role:
- websrvs

hosts: host2
role:
- phpappsrvs

hosts: host3
role:
- dbsrvs

hosts: host4
role:
- websrvs
- phpappsrvs

二、Role示例

Reference

PreviousplaybookNextansible模块

Last updated 5 years ago

Was this helpful?

https://www.cnblogs.com/zhaojiankai/p/7655855.html