SaltStack数据系统-Grains
上一篇:SaltStack配置管理
granis:谷粒
pillar:柱子
grains是salt的一个组件,存放minion启动时候收集的信息(状态信息)
查看
salt '*' grains.items
只列出名称
salt '*' grains.ls
获取固定的
salt '*' grains.get fqdn_ip4
获取eth0的ip地址
salt '*' grains.get ip4_interfaces:eth0
使用grains进行目标匹配
只在CentOS系统下面执行命令
salt -G 'os:CentOS' cmd.run 'uptime'
匹配所有grains的os值为CentOS的主机然后执行命令
在top里面使用grains
/srv/salt/base/top.sls
base: 'os:CentOS': - match: grain - web.apache
'os:CentOS':匹配os为CentOS的主机
- match: grain:匹配方法(与在命令行不同需要加匹配方法这里的grain没有s)
执行命令和之前执行高级状态命令一样
salt '*' state.highstate
自定义grains
方法一:在配置文件里面定义/etc/salt/minion (不建议在minion里面定义,因为最佳实践要求所有minion的配置文件是一样的如果单独修改某一个minion会导致混乱)
其中roles是key对应的webserver等是value
方法二:在配置文件夹新建一个文件/etc/salt/grains
test-grains: linux-node2
需要重启minion才能查看到
PS:不重启同步grains的方法,执行命令
salt '*' saltutil.sync_grains