1.roles介绍
- Roles 基于一个已知的文件结构,去自动的加载某些 vars_files,tasks 以及 handlers。基于roles
对内容进行分组,使得我们可以容易地与其他用户分享 roles 。
2.ping所有主机的playbook
2.1以前的写法
[root@liang roles]# cat ping.yml
---
- hosts: all
tasks:
- name: ping host
ping:
2.2roles角色写法
a)创建层级目录
[root@liang 2018-07-26]# mkdir roles/ping/tasks/ -p
[root@liang 2018-07-26]# cd roles/
[root@liang roles]# ll
total 8
drwxr-xr-x 3 root root 4096 Jul 26 08:30 ping
-rw-r--r-- 1 root root 39 Jul 26 08:35 site.yml
b)创建头文件site.yml
[root@liang roles]# cat site.yml ###头文件
---
- hosts: all
roles: ###一级目录roles
- ping ###二级目录ping
c)创建控制ping角色的文件
[root@liang roles]# ls ping/tasks/
main.yml
[root@liang roles]# cat ping/tasks/main.yml ###ping角色的入口
---
- name: ping host
ping:
d)目录结构
[root@liang 2018-07-26]# tree
.
└── roles
├── ping
│ └── tasks
│ └── main.yml
└── site.yml
2.3测试
[root@liang roles]# ansible-playbook ping.yml
PLAY [all] *********************************************************************************
TASK [Gathering Facts] *********************************************************************
ok: [10.0.0.130]
ok: [10.0.0.131]
TASK [ping host] ***************************************************************************
ok: [10.0.0.131]
ok: [10.0.0.130]
PLAY RECAP *********************************************************************************
10.0.0.130 : ok=2 changed=0 unreachable=0 failed=0
10.0.0.131 : ok=2 changed=0 unreachable=0 failed=0
4.2roles测试
[root@liang roles]# ansible-playbook site.yml
PLAY [all] *********************************************************************************
TASK [Gathering Facts] *********************************************************************
ok: [10.0.0.130]
ok: [10.0.0.131]
TASK [ping : ping host] ********************************************************************
ok: [10.0.0.131]
ok: [10.0.0.130]
PLAY RECAP *********************************************************************************
10.0.0.130 : ok=2 changed=0 unreachable=0 failed=0
10.0.0.131 : ok=2 changed=0 unreachable=0 failed=0
[root@liang roles]#