而微软 发表于 2015-11-19 09:22:43

Saltstack配置管理之牛刀小试

配置管理是基于远程执行的,实现的是模版引擎的功能
top file的作用:1    指定环境            2   指定Minion       3   指定需要加载的模块
top file必须放在/srv/salt/base下面:
# ll /srv/salt/base/
总用量 8
-rw-r--r-- 1 root root 172 11月 16 21:58 apache.sls
-rw-r--r-- 1 root root53 11月 16 22:43 top.sls

# vim /etc/salt/master
419 file_roots:
420   base:
421   - /srv/salt/base
422   prod:
423   - /srv/salt/prod
424   test:
425   - /srv/salt/test

根据/etc/salt/master文件中的配置来创建对应的目录
# mkdir /srv/salt/{test,base,prod}

然后重新启动salt-master
# /etc/init.d/salt-master restart
Stopping salt-master daemon:                               [确定]
Starting salt-master daemon:                               [确定]

应用场景1:修改minion上面的dns文件
在基础环境下创建一个files目录,放范例文件
# mkdir /srv/salt/base/files

# vim /srv/salt/base/dns.sls   
/etc/resolv.conf:
file.managed:
    - source: salt://files/resolv.conf
    - user: root
    - group: root
    - mode: 644

# cp /etc/resolv.conf ./files/      将机器上面的/etc/resolv.conf文件拷贝到/srv/salt/base/files/目录下,将第一行删除,如下:

执行状态:
# salt '*' state.sls dns                  =====================>直接执行状态,如下是返回结果
linux-node1.example.com:
----------
          ID: /etc/resolv.conf                              =====================>文件ID
    Function: file.managed                                    =====================>状态和模块
      Result: True                                          =====================>返回结果
   Comment: File /etc/resolv.conf updated                   =====================>输出状态显示
   Started: 13:05:20.253533                                 =====================>开始时间
    Duration: 71.313 ms                                       =====================>执行时间
   Changes:                                                 =====================>如下是文件改变的地方
            ----------
            diff:
                  ---
                  +++
                  @@ -1,2 +1,1 @@
                  -# Generated by NetworkManager
                   nameserver 10.0.0.2

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:   1
linux-node2.example.com:
----------
          ID: /etc/resolv.conf
    Function: file.managed
      Result: True
   Comment: File /etc/resolv.conf updated
   Started: 13:05:20.500400
    Duration: 80.807 ms
   Changes:   
            ----------
            diff:
                  ---
                  +++
                  @@ -1,2 +1,1 @@
                  -# Generated by NetworkManager
                   nameserver 10.0.0.2

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

# cat files/resolv.conf
nameserver 10.0.0.2

# cat /etc/resolv.conf
nameserver 10.0.0.2

# cat /etc/resolv.conf
nameserver 10.0.0.2
结论:linux-node1和linux-node2上面的/etc/resolv.conf文件都修改成功,代表状态执行成功。

场景2: 用高级状态修改文件:
# vim /srv/salt/base/files/resolv.conf
#hehe
nameserver 10.0.0.2

# cat /srv/salt/base/top.sls
base:                                             ===========================>指定的是哪个环境
'*':                                              ===========================>指定哪台minion
    - dns                                           ===========================>指定哪个状态模块

执行结果展示:
# salt '*' state.highstate
linux-node2.example.com:
----------
          ID: /etc/resolv.conf
    Function: file.managed
      Result: True
   Comment: File /etc/resolv.conf updated
   Started: 13:19:01.723665
    Duration: 48.675 ms
   Changes:   
            ----------
            diff:
                  ---
                  +++
                  @@ -1,1 +1,3 @@
                  +#hehe                                           ========>此为添加的地方
                   nameserver 10.0.0.2
                  +

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:   1
linux-node1.example.com:
----------
          ID: /etc/resolv.conf
    Function: file.managed
      Result: True
   Comment: File /etc/resolv.conf updated
   Started: 13:19:01.766432
    Duration: 33.202 ms
   Changes:   
            ----------
            diff:
                  ---
                  +++
                  @@ -1,1 +1,3 @@
                  +#hehe                                          ========>此为添加的地方
                   nameserver 10.0.0.2
                  +

Summary
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:   1
如上所示,文件修改成功

页: [1]
查看完整版本: Saltstack配置管理之牛刀小试