saltstack中grains详解

一、grains简介

(1) Grains是SaltStack的一个组件,存放在SaltStack的minion端。
(2) 当salt-minion启动时会把收集到的数据静态存放在Grains当中,只有当minion重启时才会进行数据的更新。
(3) 由于grains是静态数据,因此不推荐经常去修改它。

1.应用场景:
信息查询,可用作CMDB。
在target中使用,匹配minion。
在state系统中使用,配置管理模块。

2.信息查询

用于查询minion端的IP、FQDN等信息。

(1)默认可用的grains:

salt '*' grains.ls	

在这里插入图片描述
(2)查看每一项的值:

salt '*' grains.items	##查询所有

在这里插入图片描述
(3) 取单项的值:

salt server2 grains.item ipv4
salt server3 grains.item fqdn
salt '*' grains.item nodename

在这里插入图片描述

二、自定义grains项

1.在server2:/etc/salt/minion中定义:

vim /etc/salt/minion	##修改配置文件
grains:
  roles:
    - apache
##重启salt-minion,否则数据不会更新: 
systemctl  restart salt-minion

查看:

salt server2  grains.item roles

在这里插入图片描述
2.在server3:/etc/salt/grains中定义:

vim /etc/salt/grains	
roles: nginx

同步数据:
方法1:

## minion端:重启salt-minion
systemctl  restart salt-minion

查询自定义项:

salt server3 grains.item roles

在这里插入图片描述

方法2:

## master端
salt server3 saltutil.sync_grains

查询自定义项:

salt server3 grains.item roles

在这里插入图片描述

3.在salt-master端创建_grains目录:

mkdir /srv/salt/_grains
vim /srv/salt/_grains/my_grain.py
def my_grain()
    grains = {}
    grains['roles'] = nginx
    grains['hello'] = 'world'
    return grains
    
#同步grains到minion端
salt '*' saltutil.sync_grains	

查询自定义项:

salt server3 grains.item roles
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值