state介绍

    state是salt最核心的功能,通过预先定制好的sls(salt state file)文件对被控主机进行状态管理,支持包括程序包(pkg)、文件(file)、网络配置(network)、系统服务(service)、系统用户(user)等,更多状态对象见 http://docs.saltstack.com/ref/states/all/index.html

1、state的定义

state的定义是通过sls文件进行描述的,支持YAML语法,定义的规则如下:

$ID:

    $State:

        - $state: states

其中:

$ID, 定义state的名称,通过采用与描述的对象保持一致的方法,如apache、nginx等。

$State, 被管理对象的类型,即上面被标红的部分的类型之一

$state:states, 定制对象的状态

官网提供的示例如下:

apache:

    pkg:

      - installed

    service:

      - running

      - require:

      - pkg: apache

注意: require:在运行此state前,先运行依赖的state关系检查,可配置多个state依赖对象; watch:在检查某个state发生变化时运行此模块。

Include声明

一个list,其元素是要引用到本SLS文件的其他SLS模块。 只能用在highstate结构的顶层。

示例:

include:
  - edit.vim
  - http.server

Module引用

SLS模块的名字,以在Salt master上的文件结构命名。名为 edit.vim 的模块指salt://edit/vim.sls

# salt '*' state.sls  edit.vim

原文地址:https://www.cnblogs.com/wjoyxt/p/5090734.html