02-SaltSack 自动化运维

0.slatstack常用命令,cmd.run 可以执行所有命令

[root@salt-master minions_pre]# salt -E 'salt*' test.ping     # agent ping 
salt-minion02:
    True
salt-minion01:
    True
salt-master:
    True

[root@salt-master minions_pre]# salt '*' cmd.run 'uptime'    # 查看开机时间
salt-minion01:
     06:29:59 up  3:16,  1 user,  load average: 0.00, 0.00, 0.00
salt-minion02:
     06:49:28 up  3:12,  2 users,  load average: 0.00, 0.00, 0.00
salt-master:
     06:18:59 up  3:16,  2 users,  load average: 0.00, 0.00, 0.00
[root@salt-master minions_pre]# salt '*' cmd.run 'df -h'     # 查看磁盘使用
salt-minion01:
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3       5.8G  1.6G  4.0G  29% /
    tmpfs           491M   16K  491M   1% /dev/shm
    /dev/sda1       194M   29M  155M  16% /boot
salt-minion02:
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3       5.8G  1.6G  4.0G  29% /
    tmpfs           491M   16K  491M   1% /dev/shm
    /dev/sda1       194M   29M  155M  16% /boot
salt-master:
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3       5.8G  3.1G  2.4G  56% /
    tmpfs           491M   36K  491M   1% /dev/shm
    /dev/sda1       194M   29M  155M  16% /boot

 

 

1.SaltStack数据系统

Grains:存储在minion端,启动时收集信息,静态数据,重启时才会重新收集,

a.应用场景:信息查询,

[root@salt-master salt]# salt 'salt-master' grains.ls       # 显示ls

[root@salt-master salt]# salt 'salt-master' grains.items    # 显示所有

[root@salt-master salt]# salt 'salt-master' grains.get fqdn  
salt-master:
    salt-master.xiao.com
[root@salt-master salt]# salt 'salt-master' grains.get server_id
salt-master:
    894500124

[root@salt-master salt]# salt 'salt-master' grains.get ip_interfaces:eth0
salt-master:
    - 192.168.2.12
    - fe80::20c:29ff:fe99:4d5e

b.匹配minion

[root@salt-master salt]# salt -G os:CentOS cmd.run 'w'
salt-master:
     05:26:01 up  1:07,  1 user,  load average: 0.00, 0.00, 0.00
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.2.1      04:19    0.00s  0.80s  0.55s /usr/bin/python
salt-minion:
     05:36:34 up  1:07,  1 user,  load average: 0.00, 0.00, 0.00
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.2.1      04:30   25:21   0.15s  0.15s -bash

 自定义grains,

[root@salt-master salt]# vim /etc/salt/minion   # 打开注释
88 grains:
 89   roles:
 90     - webserver
 91     - memcache
[root@salt-master salt]# salt -G 'roles:memcache' cmd.run 'echo hehe'   # 在memcached的机器上执行echo hehe
salt-master:
    hehe

 或者在vim /etc/salt/grains建立

[root@salt-master salt]# vim /etc/salt/grains        # 自定义建立一个grains的nginxweb规则
nginxweb: nginx
~                                                                                              
[root@salt-master salt]# /etc/init.d/salt-minion restart
[root@salt-master salt]# salt -G nginxweb:nginx cmd.run 'w'  # 查找minion匹配到有nginxweb:nginx的机器执行w命令
salt-master:
     05:39:53 up  1:21,  1 user,  load average: 0.08, 0.02, 0.01
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.2.1      04:19    1.00s  0.85s  0.53s /usr/bin/python
[root@salt-master salt]# vim /srv/salt/top.sls      # 建立高级sls命令
base:
  'nginxweb:nginx':                                 # 关联上面grain中自定义的规则
    - match: grain
    - apache
[root@salt-master salt]# salt '*' state.hightstate  # 执行

 

posted @ 2016-09-17 02:38  sunmmi  阅读(206)  评论(0)    收藏  举报