1、状态模块
描述格式:YAML格式,文件以.sls结尾
理解YAML https://www.unixhot.com/docs/saltstack/topics/yaml/index.html
YAML三板斧
第一:缩进。 注意,必须是两个空格。缩进代表层级关系。
第二:冒号。 与空格结合表示缩进。
冒号第二种用法是表示键值对
第三: 短横线 表示列表。 短横线后面都有空格
[root@linux-node1 /srv/hehe/salt/base]# cat top.sls base: '*': - init.init prod: 'linux-node*': - cluster.haproxy-outside - cluster.haproxy-outside-keepalived
2、模块编写存放位置
在写状态模块之前,要定义好salt环境;编辑master配置文件
vi /etc/salt/master,编辑master配置文件 找到file_roots: 定义salt的base环境。注意,修改配置文件后,一定要重启master file_roots: base: - /srv/salt/base prod: - /srv/salt/prod
3、编写apache.sls文件
存放路径/srv/salt/web
文件作用是按照apache,并启动
apache-install: pkg.installed: - names: - httpd #要安装的包名 - httpd-devel apache-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