• saltstack布署实践 【配置文件管理-state模块】


    那如果要批量修改被管机器的某个配置文件怎么做?以下给出一个最简单案例。
     
    先在主管机器master上查看/etc/salt/master配置文件
    看到有以下几行配置文件
     
    # file_roots:
    #   base:
    #     - /srv/salt/
    #   dev:
    #     - /srv/salt/dev/services
    #     - /srv/salt/dev/states
    #   prod:
    #     - /srv/salt/prod/services
    #     - /srv/salt/prod/states
     
     
    配置说明:默认以上的文件目录,就是state模块应用目录,你可将其配置项的注释 删掉,额外配置一些其它你喜欢目录树结构,然后重启master的服务,让其配置生效。
     
    这里为了测验,我没有改master配置,在base目录下直接测试
    首先创建文件夹
    mkdir /srv/salt
    接下来在这目录中创建一个state模块可解析的sls文件
    vi /srv/salt/one.sls
     
    #这个/tmp/foo.conf其实是一个ID,但它直接默许你要管理的minion机器上的文件位置
    /tmp/foo.conf:
    #使用state中的file.managed模块来管理,具体配置参考可以通过salt 'minion' sys.state_doc  file.managed这条命令来查阅
      file.managed:
    #定认本端master的源文件key
        - source:
    #这里的key中的VALUE对应的是salt://foo.conf,指的是salt中base目录(/srv/salt/) 下的foo.conf
          - salt://foo.conf
    #将目标minion的文件控制其文件权限
        - user: root
        - user: root
        - mode: 644
    #备份minion的源文件
        - backup: minion
     
    接下来我们创建master要下发的配置文件示例
    # echo 'saltstack Test' > /srv/salt/foo.conf
     
    接下来在master通过state命令把配置批量推下去
    salt -E '10.40.41.154.ubuntu1404.stg|10.40.41.154.ubuntu1404.stg'   state.sls one
    10.40.41.154.ubuntu1404.stg:
    ----------
              ID: /tmp/foo.conf
        Function: file.managed
          Result: True
         Comment: File /tmp/foo.conf is in the correct state
         Started: 11:38:24.910375
        Duration: 31.449 ms
         Changes:   
     
    Summary for 10.40.41.154.ubuntu1404.stg
    ------------
    Succeeded: 1
    Failed:    0
    ------------
    Total states run:     1
    Total run time:  31.449 ms
    10.40.41.155.centos7.stg:
    ----------
              ID: /tmp/foo.conf
        Function: file.managed
          Result: True
         Comment: File /tmp/foo.conf is in the correct state
         Started: 11:38:24.917948
        Duration: 41.525 ms
         Changes:   
     
    Summary for 10.40.41.155.centos7.stg
    ------------
    Succeeded: 1
    Failed:    0
    ------------
    Total states run:     1
    Total run time:  41.525 ms
     
    我们当然可以从minion单台机器上向master获取
     为验证成功性,我们修改一下刚才master上的foo.conf
    echo 'saltstack Test-2' > /srv/salt/foo.conf
    在minion端发生命令
    # salt-call state.sls one
    local:
    ----------
              ID: /tmp/foo.conf
        Function: file.managed
          Result: True
         Comment: File /tmp/foo.conf updated
         Started: 11:40:30.638998
        Duration: 49.449 ms
         Changes:    x
                  ----------
                  diff:
                      ---
                      +++
                      @@ -1 +1 @@
                      -saltstack Test
                      +saltstack Test-2
     
    Summary for local
    ------------
    Succeeded: 1 (changed=1)
    Failed:    0
    ------------
    Total states run:     1
    Total run time:  49.449 ms
     
     
    比较2台minion配置文件的差异
    [root@localhost salt]# cat /tmp/foo.conf
    saltstack Test-2
     
    root@ubuntu:/srv/salt# cat /tmp/foo.conf
    saltstack Test
     
    这是最简单的配置管理
    我们可通过这条命令实时追踪它state底层执行的过程:salt-run state.event pretty=True 需要一边开这个窗口monitor,另一窗口执行命令
     
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    ddd
  • 原文地址:https://www.cnblogs.com/veniceslove/p/6290820.html
Copyright © 2020-2023  润新知