Grains

 

 grains在每次的minion启动(重启)的时候都会刷新数据,可以用在salt的模块和其他组件中。

 

Grains相关命令

salt '*' sys.list_functions grains   查看grains的操作方法
salt '*' grains.ls                   查看所有grains key
salt '*' grains.items                查看所有grains
salt '*' grains.item os ipv4         查看指定grains
salt '*' grains.get ipv4:0           获取第一个IP地址
salt '*' saltutil.sync_grains        刷新grains
salt '*' sys.reload_modules          重载模块
salt "*" grains.append aa bb         动态设置grains
salt "*" grains.setvals "{'a':'b','d':'f'}"

saltutil.sync_grains                    同步Grains
salt ‘*’ saltutil.sync_all

salt-call --local grains.items minion端使用Grains

 

 

Grains三种定义方式

/etc/salt/minion     优先级最高(minion端)
grains:
  OS:
    - Xen
    - 1.1.1.1
  http: nginx


/etc/salt/grains     优先级次之(minion端)
  OS:
    - Xen
    - 1.1.1.1
  http: nginx


/srv/salt/_grains/    优先级最低(自定义的)
xxx.py

 

 

自定义Grains

#!/usr/bin/env python
import salt.modules.cmdmod
__salt__ = {
    'cmd.run': salt.modules.cmdmod._run_quiet,
    'cmd.retcode': salt.modules.cmdmod._retcode_quiet,
    'cmd.run_all': salt.modules.cmdmod._run_all_quiet,
}

def _my_custom_grain():
    my_grain = {'foo': 'bar', 'hello': 'world'}
    return my_grain

def main():
    grains = {}
    grains['my_grains'] = _my_custom_grain()
    grains['npus'] = __pillar__['apache']
    grains['file'] = __salt__['cmd.run']('ls /root')
    return grains

 

转载于:https://www.cnblogs.com/hanqian/p/6790101.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值