zoukankan      html  css  js  c++  java
  • [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的位置,及其它环境位置.

       

       

       

       

       

  • 相关阅读:
    关于C语言中类型的理解,有符号无符号的理解以及浮点数的理解
    关于集中注意力,情绪管理,记忆的总结整体
    关于链表逆置的问题
    git中reset和checkout的总结整理
    git中关于分支和stash的理解
    SVN和git的区别
    shell命令之find的用法
    (转载)获取服务器响应时间
    (转载)Spring定时任务的几种实现
    (转载)spring单例和多例详解。如何在单例中调用多例对象
  • 原文地址:https://www.cnblogs.com/iiiiher/p/5966496.html
Copyright © 2011-2022 走看看