一.grains的两种使用方法:参考http://www.21yunwei.com/archives/3155
- minion端:脚本:vim /etc/salt/minion.d/*.conf
[root@99bill minion.d]# pwd /etc/salt/minion.d [root@99bill minion.d]# ls _schedule.conf test.conf [root@99bill minion.d]# cat test.conf grains: name: -lanxiaohui测试:
[root@99bill minion.d]# salt 'minion102' grains.item name minion102: ---------- name: -lanxiaohui - master端:vim /srv/salt/_grains/cpu.py通过python脚本写入grains读取系统信息
#!/usr/bin/python #coding:utf-8 import os def cpu(): grains = {} command = "top -b -n 1 | grep Cpu | awk -F'[:,]' '{print $5}'" with os.popen(command) as file: grains["cpu_id"] = file.read() return grainsmaster端执行
salt '*' saltutil.sync_all salt '*' sys.reload_modules
查看效果
salt '*' grains.item cup_id静态数据:vim /srv/salt/_grains/test.py
#!/usr/bin/python #coding:utf-8 def test(): grains = {} grains['test_key'] = 'test sign' return grains
master端执行
salt '*' saltutil.sync_all
salt '*' sys.reload_modules
查看效果
salt '*' grains.item test_key
二.pillar使用方法: vim /etc/salt/master
pillar_roots:
base:
- /srv/pillar
vim /srv/pillar/top.sls
base:
'minion102':
- data
'minion104':
- data
vim /srv/pillar/data.sls
name: lanxiaohui
age: 18
language:
- php
- js
- python
cpu: {{ grains.cpu_id }} #调用grains变量
测试:
[root@99bill pillar]# salt '*' pillar.data language
minion105:
----------
minion106:
----------
minion102:
----------
language:
- php
- js
- python
minion103:
----------
minion104:
----------
language:
- php
- js
- python
[root@99bill pillar]# salt '*' pillar.data cpu
minion103:
----------
minion106:
----------
minion104:
----------
cpu:
93.9 id
minion105:
----------
minion102:
----------
cpu:
93.8 id
[root@99bill pillar]#