SaltStack实战之数据系统-Grains


学习 SaltStack



  • SaltStack实战之数据系统-Grains

    • 1. Grains应用场景

    • 2. Grains应用示例


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