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

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

[svc]salt-jinja模版的更多相关文章

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

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

  2. jinja模版

    实现不同机器的差异化配置                 把apache监听的端口统一改为8080     把配置文件files/httpd.conf 文件做成模版         修改lamp.sl ...

  3. [svc]salt基本原理

    转载自:来自:http://tech.mainwise.cn/?p=438 说明:salt是一个异构平台基础设置管理工具(虽然我们通常只用在Linux上),使用轻量级的通讯器ZMQ,用Python写成 ...

  4. [svc]salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  5. [svc]salt安装lamp

    在批量安装软件前,先找台测试机yum装一遍,看是否报错等,是否依赖包全等 . 本次我们在dev环境下搞. 先看一下已搞成功的目录结构 定义dev环境的第二个好处 搞清楚逻辑结构和调用关系很重要,不然之 ...

  6. salt stack学习笔记

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

  7. Saltstack_使用指南12_配置管理-jinja模板

    1. 说明 下文的案例是根据上一篇文章进行的修改.因此请优先读取上一章博文内容<Saltstack_使用指南11_配置管理-状态之间依赖关系> 2. 主机规划 salt 版本 [root@ ...

  8. saltstack二

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

  9. saltstack一

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

  10. Saltstack(二)

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

随机推荐

  1. python笔记23-unittest单元测试之mock

    什么是mock unittest.mock是一个用于在Python中进行单元测试的库,Mock翻译过来就是模拟的意思,顾名思义这个库的主要功能是模拟一些东西. 它的主要功能是使用mock对象替代掉指定 ...

  2. Selenium2+python自动化70-unittest之跳过用例(skip)

    前言 当测试用例写完后,有些模块有改动时候,会影响到部分用例的执行,这个时候我们希望暂时跳过这些用例. 或者前面某个功能运行失败了,后面的几个用例是依赖于这个功能的用例,如果第一步就失败了,后面的用例 ...

  3. Appium+python自动化18-brew、carthage和appium-doctor

    前言 本篇安装brew.carthage,解决启动appium时的报错问题,另外安装appium-doctor检查appium的环境 1.brew 2.carthage 3.appium-doctor ...

  4. WPF性能调试系列 – 应用程序时间线

    WPF性能调试系列文章: WPF页面渲染优化:Application Timeline WPF页面业务加载优化:Ants Performance Profiler WPF内存优化:Ants Memor ...

  5. Error: Finish can only be called once

    Android studio 启动或者新建项目:报错“Error: Finish can only be called once” gradle缓存问题: 默认的额缓存路径在: on windows ...

  6. 【实践】require.js + r.js 代码打包压缩初体验

    第二个分享的是学校项目所接触到的新知识,代码压缩 + 代码打包 这次的项目用了require.js 这个插件做模块化管理的工具,所谓模块化就是在开发的过程中将功能划分成一个独立的模块,使代码可读性更强 ...

  7. scala "←" "<-"

    程序里看到"←"符号 (for { routee ← valueHolder.routee } yield routee).toVector 找遍scala的操作符表都没找到,回头 ...

  8. Qt 之 入门例程

    以 “Hello Qt” 为例,介绍如何建立一个 Qt 工程 . 1  QLabel 例程 QLabel 用来显示文本和图片,它继承自 QFrame (而 QFrame 继承自 QWidget) 1. ...

  9. 关于npm本地安装模块包(node_modules),安装不了的问题

    单独测试的时候,发现安装不了node_modules包 缺少package.json,无法安装. 分为以下两步: 1.npm init -y 2.npm i -D vue 或 yarn add vue

  10. 设计模式 - 模板方法模式(template method pattern) 具体解释

    模板方法模式(template method pattern) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy 模板方法模式(template metho ...