1、状态模块

描述格式:YAML格式,文件以.sls结尾

理解YAMLhttps://www.unixhot.com/docs/saltstack/topics/yaml/index.html

YAML三板斧

第一:缩进。 注意,必须是两个空格。缩进代表层级关系。

第二:冒号。 与空格结合表示缩进。

冒号第二种用法是表示键值对

第三: 短横线 表示列表。 短横线后面都有空格

[root@linux-node1 /srv/hehe/salt/base]# cat top.sls base:  '*':    - init.initprod:  'linux-node*':    - cluster.haproxy-outside    - cluster.haproxy-outside-keepalived

2、模块编写存放位置

在写状态模块之前,要定义好salt环境;编辑master配置文件

vi /etc/salt/master,编辑master配置文件找到file_roots:定义salt的base环境。注意,修改配置文件后,一定要重启masterfile_roots:  base:    - /srv/salt/base  prod:    - /srv/salt/prod

3、编写apache.sls文件

存放路径/srv/salt/web

文件作用是按照apache,并启动

apache-install:  pkg.installed:    - names:      - httpd               #要安装的包名      - httpd-develapache-service:  service.running:    - name: httpd    - enable: True          #设置开机启动

4、高级状态模块

# The state system uses a "top" file to tell the minions what environment to# use and what modules to use. The state_top file is defined relative to the# root of the base environment as defined in "File Server settings" below.

top.sls存放在base环境

base:  'linux-node1.example.com':   #minion id    - web.apache  'linux-node2.example.com':    - web.apache执行高级状态salt 'linux-node1.example.com' state.highstate test=True