[svc]salt-jinja模版

实现不同机器的差异化配置

   

   

   

   

apache监听的端口统一改为8080

   

把配置文件files/httpd.conf 文件做成模版

   

   

修改lamp.sls改模版变量赋值

   

执行看结果:

   

ok come on.

   

   

   

写多个变量列表

2个吧

老套路 修改模版

定义HOSTPORT

   

但问题来了 HOST的指定? 因为每个机器的ip不一样 , 姑且暂时先不用理这个问题

   

修改lamp.sls 给模版变量赋值

   

接下去测一下

   

comeon 配置文件真的变了

...

...

   

   

给模块赋值,那么 这个值可以用三个组件来获取

grains pillar 直接执行 以下一一介绍

   

二话不说,开干.

   

命令行获取对端地址

   

sls

   

测试结果 apache的配置被改了.

   

这种还有一种蛋疼的写法

即不在sls里配置 直接在模版里配置

转而在模版里配置下

   

这种方式不太好管理, 如果我看sls里可以一目了然的看到我用了哪些 变量. 而这个方式 确实蛋疼了.

   

   

   

第二种方式:通过执行命令获取

   

模板里加上值

   

修改sls

   

通过执行命令获取值

   

   

   

   

   

剩下最后一种方式了.通过pillar

我们的目标是不老修改sls, . 在别的机器上用,我们不用老改那个sls.

这些变量写成配置文件的形式??

   

pillar可以给每个minion指定不同的值

模版的变量值可以通过pillar

   

   

首先使用pillar要注意:

   

接下去将三个值都该为pillar模式

   

修改master配置 创建pillar环境 存放pillarsls

   

   

创建apache.sls

   

创建top.sls ->记住 top.sls永远只有1个 永远存放在base环境下

   

   

   

几经周折 弄出了这个目录结构

   

   

期间报错了

我看下了日志

是我的pillar apache.sls里的键写错了

pillartop.sls给某个主机指定某个值.然后用salt '*' state.highstate去执行

注意:

如果 pillar里没指定的主机,则执行时候会报错误,大概意思说是没template没有值给提供.

   

还有要注意环境哦.

top.sls的位置,及其它环境位置.

   

   

   

   

   

posted @ 2016-10-16 13:38  _毛台  阅读(138)  评论(0编辑  收藏  举报