码迷,mamicode.com
首页 > 其他好文 > 详细

salt

时间:2016-05-11 11:31:53      阅读:284      评论:0      收藏:0      [点我收藏+]

标签: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

标签:salt

原文地址:http://leyin01.blog.51cto.com/9062123/1772071

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!