本文共 1981 字,大约阅读时间需要 6 分钟。
剧本编写完问题:
1. 目录结构不够规范 OK 2. 编写好的任务如何重复调用 3. 服务端配置文件改动,客户端参数信息也自动变化 4. 汇总剧本中没有显示主机角色信息 5. 一个剧本内容信息过多,不容易进行阅读,如何进行拆分 OK 第一个历程: 规范目录结构 cd /etc/ansible/roles mkdir {rsync,nfs} --- 创建相应角色目录,目录名代表角色名 mkdir {nfs,rsync}/{vars,tasks,templates,handlers,files} --- 创建角色目录下面的子目录 [root@m01 roles]# tree . ├── nfs │ ├── files --- 保存需要分发文件目录 │ ├── handlers --- 保存触发器配置文件信息 │ ├── tasks --- 保存要执行的动作信息文件 ok │ ├── templates --- 保存需要分发模板文件 模板文件中可以设置变量信息会调用vars中的变量进行赋值 如果要传输该目录下的文件需要把copy模块换成template │ └── vars --- 保存变量信息文件 └── rsync ├── files ├── handlers ├── tasks ├── templates └── vars 第二个历程: 在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 - name: 03-boot server service: name={ { item }} state=started enabled=yes with_items: - rpcbind - nfs tasks目录中的main.yml文件中的信息可以在此拆分 以后可以重复调用 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 servervim create_dir.yml
- name: 02-create data dir file: path={ { Data_dir }} state=directory owner=nfsnobody group=nfsnobodyvim boot_server.yml
- name: 03-boot server service: name={ { item }} state=started enabled=yes with_items: - rpcbind - nfs2) 编写vars目录中的main.yml文件
[root@m01 vars]# vim main.yml Data_dir: /data Prot_info: 876 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 第三个历程: 编写一个主剧本文件 cd /etc/ansible/roles/ [root@m01 roles]# cat site.yml - hosts: nfs_server roles: - nfs-server - hosts: rsync_server roles: - rsync转载地址:http://shepb.baihongyu.com/