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