saltstack配置管理

#salt的配置文件要遵守YAML格式;

#添加file root

[root@linux-node1 salt]# vim master

file_roots:
  base:
    - /srv/salt/base
  dev:
    - /ser/salt/dev
  test:
    - /srv/salt/test
  prod:
    - /srv/salt/prod

#手敲,不建议复制,注意空格不要用tab键

#创建相应的目录

[root@linux-node1 salt]# mkdir -p /srv/salt/{base,dev,test,prod}

[root@linux-node1 salt]# systemctl restart salt-master

#重启后检查服务是否正常

[root@linux-node1 salt]# salt '*' test.ping
linux-node2:
    True
linux-node1:
    True

#如果服务异常查看日志

[root@linux-node1 salt]# tailf /var/log/salt/master

#通过salt安装apache

#创建状态文件

[root@linux-node1 base]# vim apache.sls

apache-install:
  pkg.installed:
    - name: httpd

apache-service:
  service.running:
    - name: httpd
    - enable: True

[root@linux-node1 base]# salt 'linux-node2' state.sls apache

#此时master端会等待返回结果,可以查看minion端信息(minion端会执行yum check-update 检查可更新的程序)

saltstack配置管理

 

 

[root@linux-node1 base]# salt 'linux-node2' state.sls apache
linux-node2:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: The following packages were installed/updated: httpd
     Started: 08:00:19.333442
    Duration: 288520.895 ms
     Changes:   
              ----------
              apr:
                  ----------
                  new:
                      1.4.8-5.el7
                  old:
              apr-util:
                  ----------
                  new:
                      1.5.2-6.el7
                  old:
              httpd:
                  ----------
                  new:
                      2.4.6-90.el7.centos
                  old:
              httpd-tools:
                  ----------
                  new:
                      2.4.6-90.el7.centos
                  old:
              mailcap:
                  ----------
                  new:
                      2.1.41-2.el7
                  old:
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd has been enabled, and is running
     Started: 08:05:07.867717
    Duration: 451.056 ms
     Changes:   
              ----------
              httpd:
                  True

Summary
------------
Succeeded: 2 (changed=2)
Failed:    0
------------
Total states run:     2

#上面是通过手动方式执行模块,salt可以通过编写模块对应文件执行高级状态执行相应 模块

#添加状态文件执行(top file放在base目录中)

[root@linux-node1 base]# vim top.sls

base:
  'linux-node2':
    - web.apache
  'linux-node1':
    - web.apache

#salt高级状态,系统会去找top.sls文件

#生产环境执行前先测试

[root@linux-node1 base]# salt '*' state.highstate test=True

[root@linux-node1 base]# salt '*' state.highstate

 

[root@linux-node1 base]# salt '*' state.highstate
linux-node2:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: Package httpd is already installed.
     Started: 09:21:46.008792
    Duration: 623.939 ms
     Changes:   
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd is already enabled, and is in the desired state
     Started: 09:21:46.633214
    Duration: 151.824 ms
     Changes:   

Summary
------------
Succeeded: 2
Failed:    0
------------
Total states run:     2
linux-node1:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: The following packages were installed/updated: httpd
     Started: 09:21:48.889559
    Duration: 166699.047 ms
     Changes:   
              ----------
              apr:
                  ----------
                  new:
                      1.4.8-5.el7
                  old:
              apr-util:
                  ----------
                  new:
                      1.5.2-6.el7
                  old:
              httpd:
                  ----------
                  new:
                      2.4.6-90.el7.centos
                  old:
              httpd-tools:
                  ----------
                  new:
                      2.4.6-90.el7.centos
                  old:
              mailcap:
                  ----------
                  new:
                      2.1.41-2.el7
                  old:
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd has been enabled, and is running
     Started: 09:24:35.599222
    Duration: 610.787 ms
     Changes:   
              ----------
              httpd:
                  True

Summary
------------
Succeeded: 2 (changed=2)
Failed:    0
------------
Total states run:     2

 

 

 

 

 

上一篇:djang-csrf源码分析


下一篇:salt收集windows服务器日志时间