zoukankan      html  css  js  c++  java
  • SaltStack 配置管理-状态间关系

    require依赖

    lamp-pkg-install:
      pkg.installed:
        - names:
          - php
          - php-cli
          - php-common
          - mysql
          - php-mysql
          - php-pdo
    
    apache-service:
      pkg.installed:
        - name: httpd
      file.managed:
        - name: /etc/httpd/conf/httpd.conf
        - source: salt://files/httpd.conf
        - user: root
        - group: root
        - mode: 644
        - require:
          - pkg: apache-service   #文件管理依赖于pkg包的安装
      service.running:
        - name: httpd
        - enable: True
    
    mysql-service:
      pkg.installed:
        - name: mysql-server
      file.managed:
        - name: /etc/my.cnf
        - source: salt://files/my.cnf
        - user: root
        - group: root
        - mode: 644
      service.running:
        - name: mysqld
        - enable: True

    require_in依赖

    lamp-pkg-install:
      pkg.installed:
        - names:
          - php
          - php-cli
          - php-common
          - mysql
          - php-mysql
          - php-pdo
    
    apache-service:
      pkg.installed:
        - name: httpd
      file.managed:
        - name: /etc/httpd/conf/httpd.conf
        - source: salt://files/httpd.conf
        - user: root
        - group: root
        - mode: 644
        - require:
          - pkg: apache-service
      service.running:
        - name: httpd
        - enable: True
    
    mysql-service:
      pkg.installed:
        - name: mysql-server
        - require_in:
          -file: mysql-service   #pkg这个包需要被文件管理模块所使用
      file.managed:
        - name: /etc/my.cnf
        - source: salt://files/my.cnf
        - user: root
        - group: root
        - mode: 644
      service.running:
        - name: mysqld
        - enable: True

    watch依赖

    lamp-pkg-install:
      pkg.installed:
        - names:
          - php
          - php-cli
          - php-common
          - mysql
          - php-mysql
          - php-pdo
    
    apache-service:
      pkg.installed:
        - name: httpd
      file.managed:
        - name: /etc/httpd/conf/httpd.conf
        - source: salt://files/httpd.conf
        - user: root
        - group: root
        - mode: 644
        - require:
          - pkg: apache-service
      service.running:
        - name: httpd
        - enable: True
        - reload: True
        - watch:
          - file: apache-service   #每当file的文件修改,服务重新reload
    
    mysql-service:
      pkg.installed:
        - name: mysql-server
        - require_in:
          - file: mysql-service
      file.managed:
        - name: /etc/my.cnf
        - source: salt://files/my.cnf
        - user: root
        - group: root
        - mode: 644
      service.running:
        - name: mysqld
        - enable: True

    watch_in依赖

    lamp-pkg-install:
      pkg.installed:
        - names:
          - php
          - php-cli
          - php-common
          - mysql
          - php-mysql
          - php-pdo
    
    apache-service:
      pkg.installed:
        - name: httpd
      file.managed:
        - name: /etc/httpd/conf/httpd.conf
        - source: salt://files/httpd.conf
        - user: root
        - group: root
        - mode: 644
        - require:
          - pkg: apache-service
      service.running:
        - name: httpd
        - enable: True
        - reload: True
        - watch:
          - file: apache-service
    
    mysql-service:
      pkg.installed:
        - name: mysql-server
        - require_in:
          - file: mysql-service
      file.managed:
        - name: /etc/my.cnf
        - source: salt://files/my.cnf
        - user: root
        - group: root
        - mode: 644
        - watch_in:
          - service: mysql-service   #文件file被watch_in监控,编辑后重启
      service.running:
        - name: mysqld
        - enable: True

     watch_in也可以用于监控软件包的变化,如果安装的软件包有版本更新,也会导致服务的相应动作。

    lamp-pkg-install:
      pkg.installed:
        - names:
          - php
          - php-cli
          - php-common
          - mysql
          - php-mysql
          - php-pdo
    
    apache-service:
      pkg.installed:
        - name: httpd
        - watch_in:
          - service: apache-service
      file.managed:
        - name: /etc/httpd/conf/httpd.conf
        - source: salt://files/httpd.conf
        - user: root
        - group: root
        - mode: 644
        - require:
          - pkg: apache-service
      service.running:
        - name: httpd
        - enable: True
        - reload: True
        - watch:
          - file: apache-service
    
    mysql-service:
      pkg.installed:
        - name: mysql-server
        - require_in:
          - file: mysql-service
      file.managed:
        - name: /etc/my.cnf
        - source: salt://files/my.cnf
        - user: root
        - group: root
        - mode: 644
        - watch_in:
          - service: mysql-service
      service.running:
        - name: mysqld
        - enable: True
  • 相关阅读:
    其实 Linux IO 模型没那么难
    七年三次大重构,聊聊我的重构成长史
    听说 JVM 性能优化很难?今天我小试了一把!
    盘点三年来写过的原创文章
    如何快速实现一个连接池?
    树结构系列(四):MongoDb 使用的到底是 B 树,还是 B+ 树?
    树结构系列(三):B树、B+树
    树结构系列(二):平衡二叉树、AVL树、红黑树
    树结构系列(一):从普通树到二叉查找树
    静态代码分析工具清单
  • 原文地址:https://www.cnblogs.com/python-study/p/5486492.html
Copyright © 2011-2022 走看看