Ansible集群自动化维护(四)- 完结
一、include文件包含
1.1 概述
应用场景:
在我们书写剧本的时候,会涉及到多个步骤,有时还会涉及到服务端和客户端。当剧本越来越大时,不容易进行分
析与阅读,这时候就需要把剧本拆分开,分成多个文件,如服务端、客户端。然后可以通过include_tasks的功能把
多个剧本文件合并在一起,让剧本变成多个方便阅读与维护
如:普通部署nfs服务的方式:
采用include的剧本
1.2 实现案例
拆分nfs部署的剧本,实现如下:
部署服务端:
部署客户端:
include整合
二、Roles标准
Roles是一套playbook的目录结构标准,用于解决剧本文件存放比较混乱的问题。例如当剧本规模扩大,各种handlers文件、变量文件,j2文件等存放在一起,怎么定义其目录结构呢?
2.1 概述
Roles的目录规范如下图所示:
同样以nfs剧本为例,按照Roles规则调整后的目录如图所示:
2.2 实现案例
使用Roles规则,实现nfs服务部署剧本
2.2.1 目录准备
按照Roles规则创建目录
2.2.2 添加文件
创建各文件
exports文件
handler/main.yml文件
tasks/main.yml文件
templates/motd.j2文件
2.2.3 运行调试
运行如下:
2.3 加入变量
使用group_vars
文件夹,加入变量
添加变量文件:
下发文件
主任务文件(**注意调用需要双引号**)
执行:
三、Ansible文件加密-Vault
使用方法如下:
如果加密后是不能查看内容和执行的
四、Glaxy-别人的Roles
可以从Glaxy网站下载别人做好的Roles,并安装
五、优化性能和安全性
如图:
其中安全–配置sudo的方法:
参考脑图:https://www.processon.com/view/link/61addd266376896056c1b1b2