saltstack 数据系统——Grains

grains 存储位置minion端,数据类型:静态数据,数据采集更新方式:

minion启动时采集,也可以使用saltutil.sync_grains 进行刷新。

应用:存储minion基本数据,比如用于匹配minion,自身数据可以用来做资 产管理。


grains收集信息:

1
2
3
4
5
6
7
8
9
10
salt '*' grains.ls
 
 
salt 'web13*' grains.items
 
也可以单个显示
 
salt '*' grains.item fqdn
salt '*' grains.item server_id
salt '*' grains.get ip_interfaces:eth0


grains匹配minion

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#比如查看所有centos的机器上执行uptime命令:
 
salt -G os:centos cmd.run 'uptime'
 
web12.limingyu.com:
     02:24:36 up  5:45,  1 user,  load average: 0.06, 0.11, 0.08
web13.limingyu.com:
     02:24:37 up  5:45,  1 user,  load average: 0.19, 0.09, 0.06
 
#自定义grains:
 
vim /etc/salt/minion
#打下面几行
 
 88 grains:
 89   roles:
 90     - webserver
 91     - memcache
  
 保存退出,重启minion
/etc/init.d/salt-minion restart
 
salt -G 'roles:memcache' cmd.run 'echo hehe'
 
或者
 
vim /etc/salt/grains
web: nginx
 
保存退出,重启minion
 
salt '*' grains.item web
 
web12.limingyu.com:
    ----------
    web:
        nginx
web13.limingyu.com:
    ----------
    web:
     
salt -G web:nginx cmd.run 'echo hehe'
 
web12.limingyu.com:
    hehe


在top.sls里匹配:

1
2
3
4
5
6
7
8
9
10
11
vim /srv/salt/top.sls
 
base:
  'web:nginx' :
    - match: grain
    - apache
 
 
保存,重启服务
 
salt -G web:nginx cmd.run 'w'







      本文转自limingyu0312  51CTO博客,原文链接:http://blog.51cto.com/limingyu/1908533,如需转载请自行联系原作者



上一篇:用Photoshop画笔轻松绘制一幅“月光图”


下一篇:Kubernetes使用集群联邦实现多集群管理