四、配置管理States
是SaltStack中的配置语言,在日常进行配置管理时需要编写大量的States文件。比如我们需要安装一个包,然后管理一个配置文件,最后保证某个服务正常运行。这里就需要我们编写一些states sls文件(描述状态配置的文件)去描述和实现我们的功能。
1.查看state列表
[root@master pillar]# salt 'minion' sys.list_state_modules
minion:
- acl
- alias
- alternatives
- archive
- artifactory
- blockdev
- buildout
- cloud
...省略N行
2.查看指定模块的所有function
[root@master pillar]# salt 'minion' sys.list_state_functions file
minion:
- file.absent
- file.accumulated
- file.append
- file.blockreplace
- file.comment
- file.copy
- file.directory
...省略N行
3.查看指定file.states用法
[root@master pillar]# salt 'minion' sys.state_doc file.patch
4.实例
states流程
编写top.sls文件(非必须)
编写state.sls文件
①在states工作目录(默认是/srv/salt/)创建one.sls文件。
②执行命令,进行配置部署。
使用top.sls管理多台主机
执行查看结果
五、执行结果处理
Return组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过Return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。
1.查看return列表
2.流程
Return是在Master端触发任务,然后Minion接受处理任务后直接与Return存储服务器建立连接,然后把数据Return存到存储服务器。minion操作存储服务器。
3.实例:将redis作为存储
①安装redis
wget http://download.redis.io/releases/redis-3.0.6.tar.gz
tar xf redis-3.0.6.tar.gz -C /usr/local/
cd /usr/local/redis-3.0.6/
yum -y install gcc gcc-c++
make MALLOC=libc
src/redis-server.sh
src/redis-cli
②修改minion配置文件;/etc/salt/minion
③ 安装redis python client
pip install redis
④ 重启minion
⑤ 执行命令,查看结果
[root@master ~]# salt '*' cmd.run 'hostname' --return redis
六、Job管理
在SaltStack里面执行任何一个操作都会在Master上产生一个jid号。Minion端会在cache目录下的proc目录创建一个以jid为名称的文件,这个文件里面的内容就是此次操作的记录,当操作处理完成后该文件会自动删除。而Master端会记录每次操作的详细信息,这个记录都是存到在Master端cache目录下jobs下。
1.salt-run管理job
[root@master ~]# salt-run -d|grep job #管理job的用法
2.通过SaltStack Module来管理job
查看方法
使用
七、Event
Event是SaltStack里面的对每个事件的一个记录。
1.master端查看event命令
[root@master ~]# salt-run state.event pretty=True
2.重启minion
3.查看master(截取部分)