Published on

SaltStack实战之数据系统-Grains

Authors
  • avatar
    Name
    老杨的博客
    Twitter

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