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

  

   下一篇:SaltStack数据系统-Pillar

原文地址:https://www.cnblogs.com/minseo/p/8674199.html