zoukankan      html  css  js  c++  java
  • saltStack 状态模块(状态间的关系)

    unless onlyif:状态间的条件判断,主要用于cmd状态模块

    常用方法:

         onlyif:检查的命令,仅当'onlyif'  选项指向的命令返回true时才执行name 定义的命

              unless:用于检查的命令,仅当'unless'  选项指向的命令返回false时才执行name 定义的命

     

    1)修改配置文件,添加认证功能
    [root@linux-node1 apache]# vim files/httpd.conf 
    <Directory "/var/www/html/admin">
            AllowOverride All
            Order allow,deny
            Allow from all
            AuthType Basic
            AuthName "haha"
            AuthUserFile /etc/httpd/conf/htpasswd_file
            Require user admin
    </Directory>2)修改状态文件init.sls
    [root@linux-node1 apache]# vim init.sls 
    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
    
    apache-auth:
      pkg.installed:
        - name: httpd-tools
      cmd.run:------>使用cmd模块的run方法
        - name: htpasswd -bc /etc/httpd/conf/htpasswd_file admin admin---->生成密码文件
        - unless: test -f /etc/httpd/conf/htpasswd_file---->unless判断条件,test -f判断为假则执行。即htpasswd文件如果不存在就执行生成密码

       

    requisites : 状态间关系模块使用

    `require`         #我依赖某个状态,也就是某个状态失败了,就不执行name
    `require_in`    #我被某个状态依赖
    `watch `          #我关注某个状态
    `watch_in`       #我被某个状态关注 
    [root@linux-node1 apache]# vim init_require.sls 
    apache-install:
      pkg.installed:
        - name: httpd
    
    apache-config:
      file.managed:
        - name: /etc/httpd/conf/httpd.conf
        - source: salt://apache/files/httpd1.conf----->将此处的文件改错,模拟配置错误
        - user: root
        - group: root
        - mode: 644
    
    apache-service:
      service.running:
        - name: httpd
        - enable: True
        - require:---------------------------->使用require,表示依赖
          - pkg: apache-install--------------->依赖的状态模块为pkg模块,id为apache-install 也就是说这个安装成功后执行
          - file: apache-config--------------->依赖的状态模块为file模块,id为apache-config 也就是说文件管理成功后执行

    在执行service前 先pkg中的
    apache-install 然后在执行 fil中的 apache-config 模块执行都成功 才执行service.running模块

    #注意一个ID下面一个模块只能只用使用一次




  • 相关阅读:
    《动手学深度学习》系列笔记—— 1.3 多层感知机
    angular 9.1.0发布,下一个版本:angular10
    postgresql 两行数据时间之差
    abp zero bug
    docker nginx angular 刷新错误,404错误
    EF Core 新特性——Owned Entity Types
    identityServer4 中的概念(Scope,claim)
    程序员工作时间简单分析
    吐槽下阿里云栖大会购票系统
    打造适合你的ABP(1)---- 完善日志系统
  • 原文地址:https://www.cnblogs.com/ajaxa/p/11411536.html
Copyright © 2011-2022 走看看