上一篇:SaltStack配置管理-LAMP状态设计

  

  include包含

  上篇安装LAMP环境是一个个环境安装,可以通过include模块全部安装

  lamp.sls

include:
- apache.init
- php.init
- mysql.init

  安装

salt -S '192.168.56.12' state.sls lamp saltenv=prod

  也可以直接写在top.sls里面使用高级状态执行 prod是环境linux-node2.example.com是主机ID

  扩展extend

  需求:需要在一台主机安装php包并且只在这台主机新安装一个包php-mbstring但是不要修改原sls文件

  修改lamp.sls文件增加扩展

include:
- apache.init
- php.init
- mysql.init extend:
php-install:
pkg.installed:
- name: php-mbstring

  相当于追加了红色部分的安装,在没有修改原文件的情况下追加安装包

  require需求依赖

  需求:apache安装的时候假如配置文件有错误就不执行启动操作

  修改sls文件添加 file是模块名apache-config是模块ID 同理pkg也是

  如果把配置文件改错写一个不存在的httpd配置文件执行会报错

  报错1 没有发现配置文件

  报错2 require失败所以没有启动

  

  require-in我被谁依赖(两个记住一个即可)

  watch我观察谁

  如果文件修改则重载或者重启

  执行状态发现文件变化重载(不加reload就是重启restart)

  watch_in我被谁观察(两个记住一个即可)

  状态间的条件判断

  需求:网页在进入admin文件夹的时候需要输入用户名和密码

  修改apache配置文件/etc/httpd/conf/httpd.conf添加需要加密的文件夹

<Directory "/var/www/html/admin" >
AllowOverride All
Order allow,deny
Allow from all
AuthType Basic
AuthName "hehe"
AuthUserFile /etc/httpd/conf/htpasswd_file
Require user admin
</Directory>

  以非交换的方式设置用户名和密码

htpasswd -bc /etc/httpd/conf/htpasswd_file admin admin

  查看

  查看设置的需要加密的文件

  输入地址访问需要输入刚刚设置的用户名和密码

  在sls里面实现编辑apache的init文件

apache-install:
pkg.installed:
- name: httpd apache-config:
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://apache/files/httpd.conf
- user: root
- group: root
- mode: 644
- watch_in:
- service: apache-service apache-auth:
pkg.installed:
- name: httpd-tools
cmd.run:
- name: htpasswd -bc /etc/httpd/conf/htpasswd_file admin admin
- unless: test -f /etc/httpd/conf/htpasswd_file apache-service:
service.running:
- name: httpd
- enable: True
- reload: True

  安装httpd-tools包是htpasswd命令执行需要该包

  unless是判断添加如果为真及加密文件存在则不执行以免重复添加

  验证

  执行第一次添加

  再次执行判断条件为真就不添加该密码文件

  

  下一篇:SaltStack配置管理-jinja模板

  

SaltStack配置管理-状态间关系的更多相关文章

  1. SaltStack配置管理--状态间的关系(六)

    一.include的引用 需求场景:用于含有多个SLS的状态,使用include可以进行多个状态的组合,将安装apache,php,mysql集合在一个sls中 [root@7mini-node1 p ...

  2. SaltStack中状态间关系unless、onlyif、require、require_in、watch、watch_in

    1.unless 检查的命令,仅当unless选项指向的命令返回值为false时才执行name定义的命令 cmd.run: {% "] %} - name: 'nohup sh /alida ...

  3. 架构师成长之路5.5-Saltstack配置管理(状态间关系)

    点击架构师成长之路 架构师成长之路5.5-Saltstack配置管理(状态间关系) 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需要FUNC ...

  4. SaltStack配置管理-LAMP状态设计

    上一篇:SaltStack之Salt-ssh 配置文件模板 apache: pkg.installed: - name: httpd service.running: - name: httpd /e ...

  5. SaltStack配置管理-jinja模板

    上一篇:SaltStack配置管理-状态间关系 需求:需要apache配置文件里面监听的端口是每个minion本地的地址 saltstack默认的模板是jinjia模板 参考文档:http://doc ...

  6. saltStack 状态模块(状态间的关系)

    unless onlyif:状态间的条件判断,主要用于cmd状态模块 常用方法:    onlyif:检查的命令,仅当'onlyif'  选项指向的命令返回true时才执行name 定义的命 unle ...

  7. SaltStack配置管理之状态模块和jinja2(五)

    官方文档 https://docs.saltstack.com/en/latest/topics/states/index.html 配置管理之SLS Salt  State  SLS描述文件(YAM ...

  8. Saltstack_使用指南11_配置管理-状态之间依赖关系

    1. 说明 下文的案例是根据上一篇文章进行的修改.因此请优先读取上一篇文章内容<Saltstack_10_配置管理-状态模块> 并且目录进行了变化,从 /srv/salt/lamp 变为了 ...

  9. UML 有关类图知识及类间关系

    原文链接:https://blog.csdn.net/mj_ww/article/details/53020346 1. 类的含义 类图(Class diagram)显示了系统的静态结构,而系统的静态 ...

随机推荐

  1. 【C#】获取电脑DPI

    public static class DPIGeter { /// <summary> /// 获取DPI /// </summary> /// <param name ...

  2. 11个超棒的 jQuery 分步指引插件(转)

    当一个网站或者一个Web应用推出新功能时,为了让用户了解你的站点(或应用)如何操作,往往都会在站点(应用)中添加一个分步指引的效果.然而这样的效果,对于不懂原生JS的同学来说,是件很头痛的事情. 下面 ...

  3. fatal error: malformed or corrupted AST file: &#39;Unable to load module Darwin.pcm 问题解决

    xcode5 编译project.偶然碰到了以下的问题: fatal error: malformed or corrupted AST file: 'Unable to load module &q ...

  4. c#调用cmd

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  5. 基于SSH框架、Oracle数据库、easyui的分页显示

    要求:在easyui-datagrid中完成paginaton的分页功能. 1.easyui-datagrig的配置 <table id="dg" rownumbers=tr ...

  6. 【Java面试题】50 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

    1.对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址.大小以及使用情况. 通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象.通过这种方式确定哪些对象是"可达的&q ...

  7. php将汉字转换为拼音和得到词语首字母(二)

    <?php class Pinyin{ private $_outEncoding = "GB2312"; public function getPinyin($str,$p ...

  8. jQuery on()方法绑定动态元素的点击事件无响应的解决办法

    $('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count ...

  9. ChemDraw常用到的几种技巧

    ChemDraw对于化学学习的重要性相当于CAD和建筑学.PS和设计,所以如果你是一名生化相关的工作人员,拥有ChemDraw并掌握ChemDraw的使用方法十分必要!这是一款对于我们研究化学的人来说 ...

  10. win10取消开机密码

    WIN10开机以后点击一下[开始]然后面它的搜索栏处输入[netplwiz]就可以看到如下图所示提示.   进入到用户长户界面,把[要使用本计算机,用户必须输入用户名和密码]前面的那个勾勾取消了,再点 ...