标签:salt
grains与pillar
grains是记录minion的一些静态信息的组件,是minion第一次启动的时候采集的静态数据
pillar是数据管理中心,主要是存储和定义配置管理中的一些数据(比较灵活)。
定义的属性值是经常变化的,那请采用pillar,如果是很固定、不易变的那请用grains。
1、grains存储的是静态、不常变化的内容,pillar则相反
2、grains是存储在minion本地,而pillar存储在master本地
3、minion有权限操作自己的grains值,但minion只能查看自己的pillar值,无权修改。
salt ‘*‘ sys.list_functions grains 查看grains支持的功能
salt ‘*‘ sys.doc grains 查看grains的具体用法
salt ‘*‘ sys.list_modules 查看所有modules列表
states是saltstack中的配置语言
salt ‘*‘ sys.list_state_modules 查看minion支持的所有states列表
salt ‘*‘ sys.list_state_functions file 查看file.states的所有功能
salt ‘*‘ sys.state_doc file
return组件,是saltstatck系统对执行minion返回后的数据进行存储或者返回给其他程序,支持多种存储方式。
salt ‘*‘ sys.list_returners
salt ‘*‘ cmd.run ‘hostname‘ --return redis //就把返回信息存储到redis中了
##################
vim /etc/salt/minion
redis.db: ‘0‘ #redis数据库
redis.host: ‘vps‘ #redis 主机(ip or 域名)
redis.port: 6379 #redis port
------------------------------------
确保redis Python Client文件已安装
#################
job管理
salt-run -d|grep jobs (还不支持kill某个job)
jobs.active 查看当前运行的jobs
eg: salt-run jobs.active
jobs.list_job 指定jid查看jobs详细信息
jobs.list_jobs 查看所有jobs信息
jobs.lookup_jid 指定jid查询jobs结果
jobs.print_job 指定jid查询jobs详细信息
使用saltstatck Module来管理job
salt ‘*‘ sys.doc saltutil|grep job
saltutil.find_cached_job 查询job cache 信息
saltutil.find_job 查询job信息
saltutil.kill_job 杀掉job
saltutil.signal_job 发送指定信号
eg :salt ‘*‘ saltutil.signal_job jid 15 #15是信号
saltutil.term_job 删掉job
Event和reactor
event是saltstatck里面的对每个事件的一个记录,它相比job更加底层,event能记录更加详细的事件,如minion服务启动后请求master签发证书或者校验的过程,都能通过event事件来看整个过程。
salt-run state.event pretty=true 查看event事件
Reactor是基于event的每个事件来做相应的操作,是一直监听着event,然后触发states事件。
mine组件
salt ‘*‘ sys.doc mine
是saltstack收集minion数据存储到master的一个组件,功能与grains相似。
主要应用场景是配合前端负载均衡动态获取mine汇报信息,来动态生成配置文件。
支持两种方式:
1、通过在minion配置文件中定义
vim /etc/salt/minion
mine_functions:
network.ip_address:
interface: eth0
2、通过模板的方式去下发mine采集任务。
salt ‘*‘ mine.send network.ip_address interface=docker0
salt ‘*‘ mine.get ‘*‘ network.ip_address
peer组件
peer是minion向master发布任务的一个组件,使用peer可以直接在minion上向master发布一些任务,和我们在master上执行一样的效果。默认peer是没有配置的,配置只需修改master文件即可。
eg:
peer:
minion:
- test.ping
peer_run:
minion:
- manage.up
在minion上测试
salt-call publish.publish ‘minion‘ test.ping
local:
----------
minion:
True
标签:salt
原文地址:http://leyin01.blog.51cto.com/9062123/1772071