- Published on
SaltStack实战之数据系统-Grains
- Authors
- Name
- 老杨的博客
SaltStack 实战之数据系统-Grains
[TOC]
1. Grains 应用场景
- Grains 可以在 state 系统中使用,用于配置管理模块。
- Grains 可以在 target 中使用,用来匹配 minion,比如匹配操作系统,使用-G 选项。
- Grains 可以用于信息查询,Grains 保存着收集到的客户端的详细信息。
2. Grains 应用示例
minion 配置 grains: 方法一
[root@backup112 ~]# vim /etc/salt/minion
grains:
roles: nginx
env: test
[root@backup112 ~]# systemctl restart salt-minion
[root@salt-master111 ~]# salt 'salt-master111' grains.ls
[root@salt-master111 ~]# salt 'salt-master111' grains.items
[root@salt-master111 ~]# salt '10.1.0.112' grains.get role
10.1.0.112:
nginx
[root@salt-master111 ~]# salt '10.1.0.112' grains.get env
10.1.0.112:
test
[root@salt-master111 ~]#
方法二(推荐) [root@backup112 ~]# vim /etc/salt/grains
cloud: openstack
[root@backup112 ~]# systemctl restart salt-minion
[root@salt-master111 ~]# salt '10.1.0.112' grains.get cloud
10.1.0.112:
openstack
[root@salt-master111 ~]#
[root@salt-master111 ~]# salt -G role:nginx cmd.run 'hostname' # 按角色匹配
10.1.0.112:
backup112
[[root@salt-master111 ~]# salt -G os:CentOS cmd.run 'uptime' # 按操作系统匹配
salt-master111:
17:24:03 up 202 days, 7:44, 1 user, load average: 0.55, 0.29, 0.21
10.1.0.112:
01:21:19 up 202 days, 7:07, 2 users, load average: 0.00, 0.01, 0.05
[root@salt-master111 ~]#
更多 Grains 详情:http://docs.saltstack.cn/topics/grains/index.html