博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Ansible】记一次技术博客害死人的经历——ansible模板变量注入探究
阅读量:5219 次
发布时间:2019-06-14

本文共 902 字,大约阅读时间需要 3 分钟。

风和日丽,夏天的北京湿热并举,睁不开的眼睛里,横竖都看着是“吃人”。

带薪学习的日子不好过,要在几天内迅速掌握导师下发要求学习的技能,看着以前一起蹲IT坑的同事人来人往,用隔壁同性黄同学的话来说,就是愧疚中隐隐的感到一些不安。

这种不安,终于随着一次排查ansible模板撰写问题,而被怼到了嗓子眼。

事情是这样的。

本人花了两天时间,终于找到了ansible的一个良心教程。估计学习ansible的各位都有过耳闻,就是的这篇全面的ansible入门指南(下面就是链接)。

全篇教程通俗易懂,循序渐进,容易上手,让我这个职场菜鸡如同进了大菜园,心满意足,啄个不停。但是,却在这里碰到了硬石头。

如图,图片中介绍了如何利用ansible模板机制,使得可以生成依据变量不同而不同的配置文件。

并且,在更改完之后,根据文中的说法,在保持playbook内copy模块不变的情况下,仅仅是.conf变成.j2,剧本执行便应该能够自动进行jinja2模板内变量替换,从而达到效果。

可是,事实并不是如此。我们来看:

修改完成后,在重启nginx时,发现nginx无法正常启动。登入远程服务器,检查nginx服务状态(systemctl status nginx)发现启动状态为failed。原因初步判定为“由于错误的配置文件”。

在进入nginx配置文档内,惊人的发现变量并没有被替换!怪不得会出问题。。。修改替换失败的变量后,经过服务停止-杀进程-重启服务后,nginx可算能够重新启动。

但是这个并没有解决根本问题。我们的目的是要能够让模板真正成为模板,能够响应变量替换的请求。

经过一天的排查无果,最终询问导师,导师惊叹为什么我那里使用的模块还是copy。。。

正确应该是使用template……如图所示:

playbook正常了,其他什么都正常了。nginx监听的端口也确实发生了改变,问题终于解决了。。

简而言之,那个博客关于模板的介绍有问题!!!

为什么就没人在那个博客下面反应这个问题呢?细思极恐……

转载于:https://www.cnblogs.com/sbhyc/p/11207721.html

你可能感兴趣的文章
122. Best Time to Buy and Sell Stock II
查看>>
2018寒假作业_4(自我总结)
查看>>
计算机视觉与遥感实验室(CVRS Lab)
查看>>
如何为Kafka集群选择合适的Topics/Partitions数量
查看>>
php RSA加密传输代码示例(轉)
查看>>
LOJ #3103. 「JSOI2019」节日庆典
查看>>
正确适配苹果ATS审核要求的姿势
查看>>
NHibernate.3.0.Cookbook第四章第6节的翻译
查看>>
jinjia
查看>>
Bootstrap框架
查看>>
Beta冲刺——第一天
查看>>
例1-1
查看>>
java程序员职业规划
查看>>
线程的生命周期
查看>>
Spark性能测试报告与调优参数
查看>>
RecyclerView
查看>>
经济可行性
查看>>
spring源码学习(一)
查看>>
linux环境查看版本信息
查看>>
truncate、delete、drop区别
查看>>