Ansible-Roles

1、创建相应角色目录

cd /etc/ansible/roles

mkdir {rsync,nfs}   — 创建相应角色目录

mkdir {nfs,rsync}/{vars,tasks,templates,handlers,files}  — 创建角色目录下面的子目录
[root@m01 roles]# tree 
 .
├── nfs
│   ├── files      — 保存需要分发文件目录 
│   ├── handlers   — 保存触发器配置文件信息
│   ├── tasks      — 保存要执行的动作信息文件   
│   ├── templates  — 保存需要分发模板文件 模板文件中可以设置变量信息
│   └── vars       — 保存变量信息文件
└── rsync
     ├── files
     ├── handlers
     ├── tasks
     ├── templates
     └── vars

2、在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

3、编写一个主剧本文件

[root@m01 roles]# cat site.yml 
– hosts: nfs_server
  roles:
  – nfs-server
    
– hosts: rsync_server
  roles:
  – rsync
posted @ 2021-08-25 22:33  Cai_HL  阅读(27)  评论(0编辑  收藏  举报
>