koflover 发表于 2018-8-1 10:51:05

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
页: [1]
查看完整版本: SaltStack 学习笔记 - 第八篇: 了解States