用户登录

Ansible 里用的文件模板使用的是 Jinja2 ,基本上就是你可以在文本文件里使用变量,做条件判断,还有循环等等 ...

在我的这个 playbook 里面,配置 docker 服务 这个任务用的是一个 copy 模块,复制了一个普通的文件到远程主机上,我们可以把这个文件变成一个模板 ..

先重命名一下这个文件 .. Jinja2 的模板文件的扩展名应该是 j2 ... 这是 docker 的服务的配置文件,我们给它添加了一个镜像加速的地址 ... 可以把这个地址换成一个变量 .. 名字可以是 {{ docker_registry_mirror }}

保存一下 .. 回到 Playbook, 添加一个变量 .. 名字是 docker_registry_mirror .. 它的值就是要传递给刚才那个模板的镜像加速的地址 ..

然后找到 配置 docker 服务 .. 把 copy 模块换成 template ... 模板的位置是 ./files/docker.service.j2 ... 把它放到 /etc/systemd/system/docker.service

给这个任务再打上一个 docker 标签 ...

保存 ... 再去执行一下这个 playbook ... 限制一下任务的标签 ..

ansible-playbook app.yml -t docker

查看一下远程主机上的 docker 服务 ... 找到 registry_mirror ... 它的值就是在我们的 playbook 里的 docker_registry_mirror 这个变量的值 ... 它的值传递给了 docker.service.j2 这个模板 ...

模板 - Template《 Ansible:自动化配置 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点