定义变量
创建一个文件,里面包含所有将要被调用的变量
mkdir /roles/group_vars/
touch /roles/group_vars/all
定义变量:
nfs共享的目录
NFS允许访问的网段
用户名称
用户组名称
用户id/用户组id
用变量的好处是,后期变更时我们只需在这里更改变量对应的值就可以了,不用去配置文件中一一进行更改,否则要改好几个地方。
服务端配置
1.创建目录结构
mkdir /roles/nfs-server/{tasks,handlers,templates} -p
2.编写所执行的任务yml文件
vim /roles/nfs-server/tasks/main.yml
安装NFS
配置NFS
创建用户组
创建用户
创建共享目录
启动NFS
3.编写notify所调用的handlers的main.yml文件
vim /roles/nfs-server/handlers/main.yml
4.准备模板配置文件NFS
vim /roles/nfs-server/templates/exports.j2
配置文件这里最好不要写死,调用前面定义的变量即可
{{ nfs_share_dir }} {{ nfs_share_ip }}(rw,sync,all_squash,anonuid={{ nfs_id }},anongid={{ nfs_id }})
到此任务已经写好了
5.调用roles
写一个playbook,调用该roles
vim /roles/site.yml
执行playbook
验证:
查看两台机器上的NFS共享目录
客户端配置
1.创建客户端挂载NFS的任务
mkdir /roles/nfs-client/tasks -p
vim /roles/nfs-client/tasks/main.yml
2.写一个playbook,调用该roles
vim /roles/site1.yml
3.执行playbook
ansible-playbook site1.yml
在客户端查看NFS是否挂载