Ansible之ansible-playbook roles

刚开始学习运用 playbook 时,可能会把 playbook 写成一个很大的文件,到后来可能你会希望这些文件是可以方便去重用的,所以需要重新去组织这些文件。

  基本上,使用 include 语句引用 task 文件的方法,可允许你将一个配置策略分解到更小的文件中。使用 include 语句引用 tasks 是将 tasks 从其他文件拉取过来。因为 handlers 也是 tasks,所以你也可以使用 include 语句去引用 handlers 文件。handlers 文件来自 ‘handlers:’ section。

  Playbook 同样可以使用 include 引用其他 playbook 文件中的 play。这时被引用的 play 会被插入到当前的 playbook 中,当前的 playbook 中就有了一个更长的的 play 列表。

  假如你希望在多个 play 或者多个 playbook 中重用同一个 task 列表,你可以使用 include files 做到这一点。 当我们希望为系统定义一个角色时,使用 include 去包含 task 列表是一种很好用的方法。需要记住的是,一个 play 所要达成 的目标是将一组系统映射为多个角色。

将一整个playbook文件改写成采用roles完成

  先看目录层级关系:

tree ./nginx
./nginx
├── hosts                       # 主机清单inventory文件
├── roles                       # roles角色目录
│   └── nginx
│       └── tasks               # nginx角色的tasks
│           └── main.yml        # nginx角色要执行的tasks的yaml文件
└── site.yml                    # 这个playbook的主入口

  分别查看每一个文件的内容:

nginx/hosts文件:

[nginx]
172.16.1.10

nginx/site.yml文件:

---
- hosts: all
  gather_facts: no

  roles:
    - nginx

nginx/roles/nginx/tasks/main.yml文件:

---
- name: Install Nginx
  yum: name=nginx state=present
- name: Start Nginx Service
  service: name=nginx state=started

检测语法

ansible-playbook -i hosts site.yml --syntax-check

playbook: site.yml

执行playbook

ansible-playbook -i hosts site.yml

PLAY [all] ***************************************************************************************************************************************

TASK [nginx : Install Nginx] *********************************************************************************************************************
ok: [172.16.1.10]

TASK [nginx : Start Nginx Service] ***************************************************************************************************************
ok: [172.16.1.10]

PLAY RECAP ***************************************************************************************************************************************
172.16.1.10                : ok=2    changed=0    unreachable=0    failed=0

转载于:https://www.cnblogs.com/jie-fang/p/10293204.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值