**ansible常见模块,和playbook编写
playbook把要执行的任务,按照一定的语法格式进行书写,定义完后按照相应的次序执行
要把执行的操作放再了tasks语句块,tasks会调用模块按照一定次序执行
playbook可以更灵活采用其他机制
变量
其他的控制方法handler notify触发器(mysql数据库也有类似的行为
变量(命令行-e指定变量名称
主机清单变量(分组,单个主机变量,单一主机优先级更高
还可以再playbook定义变量,
setup模块定义了很多系统自带的变量
**
编写变量的playbook
检查语法
gathering facts 收集facts信息,根据主机状态来决定主机后续的操作
执行成功
可以根据当前服务器的内存大小来配置
可以把ansible变量都放在一起,避免多个运维,放在不同的文件夹,管理起来比较麻烦
创建文件,只放变量
调用变量
等于调用了vars.yml的值
检查语法,tasks错误
验证是否成功
copy模块只能按照固定的值复制过去,但往往需要在不同的主机上实现不同的配置,有的主机性能好,希望针对这台主机,配置相比较好的配置,比如内存,cpu使用更多,copy模块就做不到
就可以做到模板templates
nginx属于epel源
nginx有配置文件与硬件息息相关
工作进程数量
auto就是观察当前主机的cpu内核个数,有几个内核就生成几个worker_processes,与硬件息息相关
2个内核对应两个cpu
把cpu调成4
这样两台主机cpu不一样,希望传说配置文件过去的适合,按照各自主机的配置生成对应的配置文件,用copy就不合适
*//整除,除完了以后取整数
%取模
n幂次方
when当上面满足条件
test [ ]
模板文件放在哪个目录下没有要求,但是一般做好放一起,方便管理
本身也是个模块
-s简要说明
template模块只能用于playbook,不能用在ansible命令行,比较特殊,
adhoc单条命令
当模板一般后缀有要求,j2
先梳理思路
测试是否成功
4个cpu内核就有4个nginx进程
想要当前进程是cpu2倍,就需要修改模板,cpu个数也需要是个变量
2的幂次方
刚才的playbook,只会复制文件,不会重启服务,需要handler和notify
**查看nginx进程数量。4的2次方,成功 **
想要每个主机对应的端口不一样,需要先实现约定好主机对应哪个端口
可以把主机变量定义到hosts
修改刚才的模板文件
也可以在playbook定义
也可以命令行指定
变量的优先级,命令行-e最高,>playbook里的变量>主机清单里的变量
刚才的模板是centos7,如果应用6上可能有点问题
如果机器是7就应用,不是7就不应有
发行版本
当只有7的时候,才复制
安装6上的nginx
把6的配置文件复制过去
更换账号
需要修改配置文件
用户不一样了
2019/03/26 ansible使用template
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
猜你喜欢
转载自blog.csdn.net/qq_42227818/article/details/88831899
今日推荐
周排行