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

 
 

 
 

 
 

 
 

把apache监听的端口统一改为8080

 
 

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

 
 

 
 

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

 
 

执行看结果:

 
 

ok come on.

 
 

 
 

 
 

写多个变量列表

写2个吧

老套路
修改模版

定义HOST和PORT

 
 

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

 
 

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

 
 

接下去测一下

 
 

comeon 配置文件真的变了

...

...

 
 

 
 

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

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

 
 

二话不说,开干.

 
 

命令行获取对端地址

 
 

改sls

 
 

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

 
 

这种还有一种蛋疼的写法

即不在sls里配置

直接在模版里配置

转而在模版里配置下

 
 

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

 
 

 
 

 
 

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

 
 

模板里加上值

 
 

修改sls

 
 

通过执行命令获取值

 
 

 
 

 
 

 
 

 
 

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

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

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

 
 

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

模版的变量值可以通过pillar值

 
 

 
 

首先使用pillar要注意:

 
 

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

 
 

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

 
 

 
 

创建apache.sls

 
 

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

 
 

 
 

 
 

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

 
 

 
 

期间报错了

我看下了日志

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

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

注意:

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

 
 

还有要注意环境哦.

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

 
 

 
 

 
 

 
 

 
 

jinja模版的更多相关文章

  1. [salt] jinja模板中变量使用pillar的几种方法

    先转载下jinja模板中使用变量的方法,后文主要讲解pillar的变量使用方法 一.jinja模版的使用方法: 1.file状态使用template参数 - template:jinja 2.模版文件 ...

  2. saltstack二

    配置管理 haproxy的安装部署 haproxy各版本安装包下载路径https://www.haproxy.org/download/1.6/src/,跳转地址为http,改为https即可 创建相 ...

  3. saltstack一

    Saltstack概述 Salt一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯. salt底层采用动态的连接总线, 使其可以 ...

  4. Saltstack(二)

    承接上篇博客 配置管理 haproxy的安装部署 创建相关目录 # 创建配置目录 [root@linux-node1 ~]# mkdir /srv/salt/prod/pkg/ [root@linux ...

  5. 续--Flask, Django - 区别

    1. 目录结构         参考:https://blog.csdn.net/yang9520/article/details/79740374 中文文档(http://docs.jinkan.o ...

  6. 009(1)-saltstack之salt-ssh的使用及配置管理LAMP状态的实现

    1 salt-ssh的使用 1. 安装salt-ssh[root@slave1 .ssh]# yum install -y salt-ssh 2. 配置salt-ssh # Sample salt-s ...

  7. SaltStack的数据系统

    一.SaltStack数据系统的分类 1.Grains(收集的是静态数据) 官方使用文档:https://www.unixhot.com/docs/saltstack/topics/targeting ...

  8. salt stack学习笔记

    saltstack运行模式: local master/minion salt ssh saltstack三大功能 远程执行命令 配置管理(状态管理) 云管理 安装: master  salt-mas ...

  9. 多云容器编排 Karmada-Operator 实践

    作者:vivo 互联网服务器团队-Zhang Rong Karmada作为开源的云原生多云容器编排项目,吸引了众多企业共同参与项目开发,并运行于生产环境中.同时多云也逐步成为数据中心建设的基础架构,多 ...

随机推荐

  1. get请求报文

    GET /02_WEB_HTTP/index.html?username=admin&password=123123 HTTP/1.1 Accept: application/x-ms-app ...

  2. 面试题整理:C#(二)

    1.类,接口的区别 从定义的角度类描述一个实体,包括状态.属性和动作接口定义一类动作,没有实现,也没有状态信息从程序的角度接口是函数声明:类是函数实现接口可以有属性,不能有字段一个子类只能继承一个父类 ...

  3. Tableau——BI software

    Tableau 8权威指南 (权威的数据可视化实战手册,中国传媒大学教授沈浩.北京大学研究员袁晓如 联袂推荐) 触手可及的大数据分析工具——Tableau案例集 写给专业数据分析师的丛书,无门槛的大数 ...

  4. PHP判断字符串中是否包含指定字符串,支持中文哦

    RT,随手写的 /** * 判断字符串中是否包含指定字符串 * @var source 源字符串 * @var target 要判断的是否包含的字符串 * @return bool */ functi ...

  5. 快速入门:十分钟学会Python

    初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...

  6. Java Dom解析的三个实例

    概述 Dom解析的文章已经烂大街了.在这里,只举三个场景下如何编码的例子: xml内有多个同名节点,获取这多个同名节点 已获取到某个节点,生成这个节点的xml描述 修改节点某属性的值 详细的讲解看官请 ...

  7. Javascript进度条

    一个简单的进度条演示. <!doctype html> <html> <head> <meta charset="utf8"> &l ...

  8. 报表session与应用session常识普及

    1. 报表session与应用session 报表集成到项目中可能会有一个疑问就是系统应用和报表应用在一个web服务器下,那系统session和报表session是不是一个session呢?如果不是那 ...

  9. 大话设计模式C++版——观察者模式

    观察者模式是一种类似于消息分发的模式,用于一个任务需要被多个对象监听的场景,或者成员对象需要反向通知类对象的情况,是一种很有用的设计模式.    这里以大话设计模式中的例子为例,办公室员工A.B.C在 ...

  10. 大话设计模式C++版——简单工厂模式

    简单工厂模式应该是所有设计模式中最简单,也最基础的一种模式,以下是一个简单的采用工厂模式写一个加减法的计算器. 1.抽象接口类——依赖倒转原则(高层和底层都要依赖于抽象,针对接口编程) class I ...