ansbile-----------------------04.批理管理角色管理(roles) --- 规范

剧本编写完问题:
1. 目录结构不够规范 
2. 编写好的任务如何重复调用
3. 服务端配置文件改动,客户端参数信息也自动变化
4. 汇总剧本中没有显示主机角色信息
5. 一个剧本内容信息过多,不容易进行阅读,如何进行拆分 

第一个历程: 规范目录结构

cd /etc/ansible/roles
mkdir {rsync,nfs} --- 创建相应角色目录
mkdir {nfs,rsync}/{vars,tasks,templates,handlers,files} --- 创建角色目录下面的子目录

 

 

 

 

  1. ├── nfs
  2. │   ├── files --- 保存需要分发文件目录
  3. │   ├── handlers --- 保存触发器配置文件信息
  4. │   ├── tasks --- 保存要执行的动作信息文件 ok
  5. │   ├── templates --- 保存需要分发模板文件 模板文件中可以设置变量信息
  6. │   └── vars --- 保存变量信息文件
  7. └── rsync

 

 

第二个历程: 在roles目录中创建相关文件
编写文件流程图:
1) 编写tasks目录中的main.yml文件
- name: 01-copy conf file
copy: src=exports dest=/etc
notify: restart nfs server
- name: 02-create data dir
file: path={{ Data_dir }} state=directory owner=nfsnobody group=nfsnobody
# path: ['data01','data02','data03']
# state: directory
# owner: nfsnobody
# group: nfsnobody
- name: 03-boot server
service: name={{ item }} state=started enabled=yes
with_items:
- rpcbind
- nfs

vim main.yml
- include_tasks: copy_info.yml
- include_tasks: create_dir.yml
- include_tasks: boot_server.yml

vim copy_info.yml
- name: 01-copy conf file
copy: src=exports dest=/etc
notify: restart nfs server

vim create_dir.yml
- name: 02-create data dir
file: path={{ Data_dir }} state=directory owner=nfsnobody group=nfsnobody

vim boot_server.yml
- name: 03-boot server
service: name={{ item }} state=started enabled=yes
with_items:
- rpcbind
- nfs

2) 编写vars目录中的main.yml文件
[root@m01 vars]# vim main.yml
Data_dir: /data

3) 编写files目录中的文件
[root@m01 files]# ll
total 4
-rw-r--r-- 1 root root 29 May 17 15:23 exports

4) 编写handlers目录中的main.yml文件
vim main.yml
- name: restart nfs server
service: name=nfs state=restarted

目录中文件编写好汇总结构
[root@m01 nfs]# tree
.
├── files
│   └── exports
├── handlers
│   └── main.yml
├── tasks
│   └── main.yml
├── templates
└── vars
└── main.yml

第三个历程: 编写一个主剧本文件
[root@m01 roles]# cat site.yml
- hosts: nfs_server
roles:
- nfs-server

- hosts: rsync_server
roles:
- rsync

 

 

posted @ 2019-11-04 23:43  lyh3420  阅读(120)  评论(0)    收藏  举报