[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的位置,及其它环境位置.

  

执行时候权限范围得注意下 pillar---salt * 仅执行pillar指定的那部分变量值的主机

  

  

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值