ansible(十六)jinja2模板

本文介绍如何使用Ansible的template模块实现100台主机的配置文件自动化管理,包括创建模板文件、变量替换、文件权限设置及远程拷贝。涵盖template模块的owner、group、mode等参数使用,以及jinja2渲染示例。

如果想要解决上述问题(100台配置文件),我们可以先创建一个"模板"文件,ansible会根据"模板"文件,为每一台主机生成对应的配置文件,大致步骤如下:
1、找一个现成的redis配置文件,作为"模板"文件,你可以从之前安装过redis的主机中拷贝一份,也可以从redis的rpm包中提取一份。
2、修改模板文件,将IP设置部分使用变量进行替换。
3、使用ansible调用"template"模块,对"模板文件"进行渲染,根据模板生成每个主机对应的配置文件,并将最终生成的配置文件拷贝到目标主机中

由于template模块还负责将最终生成的文件拷贝到远程主机上,所以还有一些常用的参数,可以用于设配文件的权限,如下:
owner参数:指定最终生成的文件拷贝到远程主机后的属主。
group参数:指定最终生成的文件拷贝到远程主机后的属组。
mode参数:指定最终生成的文件拷贝到远程主机后的权限,如果你想将权限设置为 “rw-r–r--”,则可以使用mode=0644表示,如果你想要在user对应的权限位上添加执行权限,则可以使用mode=u+x表示

除了上述参数,还有如下参数也很常用
force参数:当远程主机的目标路径中已经存在同名文件,并且与最终生成的文件内容不同时,是否强制覆盖,可选值有yes和no,默认值为yes,表示覆盖,如果设置为no,则不会执行覆盖拷贝操作,远程主机中的文件保持不变。
backup参数:当远程主机的目标路径中已经存在同名文件,并且与最终生成的文件内容不同时,是否对远程主机的文件进行备份,可选值有yes和no,当设置为yes时,会先备份远程主机中的文件,然后再将最终生成的文件拷贝到远程主机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

template模块

(1)在ansible主机和远程主机安装redis
详解看之间的redis安装
(2)用命令行获取ip
在这里插入图片描述
(3)把ansible主机的6379文件拷贝一份到/root下用来做模板并更改其内容

在这里插入图片描述
在这里插入图片描述
(4)在远程主机上查看
在这里插入图片描述
可以发现没有重启命令所以没有添加到172.25.254.20 ,现在将以上操作写成剧本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

jinja2渲染

说明:以下文件我均以.j2结尾,可以不用这么操作
都是在ansible上写文件,在远程主机查看
示例一:变量传值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例二:表达式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例三:逻辑运算符
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例四:算数表达式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例五:列表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例六
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例七:多种数据类型的时候写在剧本里
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例八:过滤器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

示例九:判断
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例十:注释

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例十一:if
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例十二:定义变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例十三:for
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果不想换行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加空格
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

加空格的另一种
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例十四:字典中用
在这里插入图片描述
在这里插入图片描述
示例十五:range
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加上步长
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例十六:for结合if
在这里插入图片描述
在这里插入图片描述
说明:以上两种都行

在这里插入图片描述
在这里插入图片描述
以上两种有什么区别呢?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看出循环次数不同

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值