首页 > 代码库 > SaltStack 入门到精通 - 第八篇: 了解States
SaltStack 入门到精通 - 第八篇: 了解States
什么是Salt States
Salt States是Salt模块的扩展
主系统使用的状态系统叫SLS系统. SLS代表Saltstack State.
Salt状态是一些文件,其中包含有关如何配置Salt 子节点的信息。 这些状态被存在一个目录树下,可以用许多不同的格式来写。
我们可以把这些Salt States当作是对minion的管理脚本的配置模式,通过配置sls文件,指定目标minions,可以实现在master上对minions的运行状态进行管理。
Salt State树
跟系统文件树一样,salt state文件也有自己的树系统,这通过配置文件中的file_roots配置
#在/etc/salt/master 中配置下面选项,指定salt state的根目录在/srv/salt file_roots: base: - /srv/salt
修改master配置文件后需要重启,使得配置文件生效
service salt-master restart 或是 pkill salt-master salt-master -d
Salt State 的top文件
top.sls 文件是SaltState的默认sls文件,再未作特别特别指定时候,salt 会默认调用top.sls来执行。例入 salt * state.highstate。
top.sls 文件需要手工创建,位置则是上面Salt State 树定义的目录/srv/salt下
#创建一个top.sls touch /srv/salt/top.sls # 添加如下内容,注意sls文件是用2个空格来作为缩进 # base 匹配状态树的base目录配置 # ‘*‘ 表示匹配所有的minions # - webserver 表示执行base目录下webserver.sls状态文件或是webserver/init.sls文件 base: ‘*‘: - webserver
创建一个简单的Salt State文件
上面在top.sls文件中定义了一个webserber文件下面来添加一个webserver文件
在文件/srv/salt/webserver.sls文件中添加下面内容
# apache :ID 声明,跟yum install apache 指定的名称一样 # pkg : 状态声明,说明下面的操作是什么状态操作 # - installed : 函数声明,说明该sls文件要指定的执行操作函数 apache: pkg: - installed
执行我们定义的Salt State
# 更新所有的minion的状态 salt ‘*‘ state.highstate
备注:根据上面top.sls以及webserver.sls的内容,所有的minions都会给安装apache服务,如果在top.sls中修改minion的匹配,则仅会对匹配到的minion进行操作
当然也可以特别指定sls文件来执行
salt-call ‘192.168.0.100‘ state.sls webserver
调试Salt
#开启debug日志 salt-minion -l debug #设置默认超时 salt ‘*‘ state.highstate -t 60
本文出自 “纳米龙” 博客,请务必保留此出处http://arlen.blog.51cto.com/7175583/1424614