saltstack的数据系统Grains & Pillar

Grains

grains是minion第一次启动的时候采集的静态数据,可以用在salt的模块和其他组件中。其实grains在每次的minion启动(重启)的时候都会采集,即向master汇报一次的。

Grains能用来做什么?

1.能匹配minion

2.能在top.sls中匹配minion

3.收集信息


实践:

1 . 查看minion的全部静态变量

# salt '*' grains.items

  

2 . 显示grains的变量名称

# salt '*' grains.ls

  

3 . 显示某一个变量 

# salt '*' grains.item os
client:
    ----------
    os:
        CentOS
server:
    ----------
    os:
        CentOS

4 . 直接获取内容 

#  salt '*' grains.get fqdn
server:
    server
client:
    client
[root@server s

  

5 . -G的使用

#  salt -G 'os:CentOs' test.ping
server:
    True
client:
    True

  

6 . 自定义grains

 

#在minion端修改配置文件/etc/salt/minion:
grains:  
  roles:
    - webserver
    - memcache

# /etc/init.d/salt-minion restart

在master端执行:

# salt -G 'roles:memcache' test.ping
client:
    True

  

7 . 基于文件的grains

在minion端
新建grains文件
touch  /etc/salt/grains
写入以下内容:
centos: node2
重启服务

master端执行:

[root@node1 ~]# salt -G 'centos:node2' test.ping
node2.minion:
True

  

8 . top.sls匹配minion

# vim top.sls
base:
  'web:nginx':
    - match: grains
    - apache

# salt '*' state.highstate  

原文地址:https://www.cnblogs.com/share100/p/6828730.html