Salt常用模块+sls文件书写技巧小记

一.Salt常用模块

1. 状态模块:pkg

功能:管理软件包状态

常用方法:

pkg.installed       #确保软件包已安装,如果没有就进行安装

pkg.latest           #确保软件包是最新版本,不是的话就升级

pkg.remove        #如果之前安装了软件包就卸载

pkg.purge          #卸载软件包并删除配置文件

 

2.状态模块:file
功能:管理文件状态
常用方法:

file.managed                #保证文件存在并且内容一致

file.recurse                  #保证目录存在并且为对应状态

file.absent                   #如果文件存在就进行删除

 

3.状态模块:service
功能:管理服务状态
常用方法:

service.running                #确保服务处于运行状态,没有运行的话则启动

service.enabled               #让服务开机自动启动

service.disabled              #让服务开机不要自动启动

service.dead                   #确保服务处于停止状态,服务在运行的话则停止

 

4.状态模块:requisites
功能:处理状态间关系
常用方法:

require            #我依赖某个状态,比如安装软件时依赖某个软件包

require_in        #我被某个状态依赖

watch              #我关注某个状态

watch_in          #我被某状态关注

 

二. sls文件书写技巧

一般写sls文件可以按照pkg、file、service这样的模块顺序来写。鉴于我们平时操作也是先安装软件包,再写配置文件,最后启动服务。

举一个🌰:

filebeat-package:         #安装包
pkg.installed:
- sources:
- filebeat: salt://filebeat/files/filebeat-6.8.13-x86_64.rpm

 

/etc/filebeat/filebeat.yml:
file.managed:                        #配置文件
- source: salt://filebeat/files/filebeat.yml
- user: root
- group: root
- mode: 600
- template: jinja
- require:
- pkg: filebeat-package

 

filebeat:
service.running:           #启动服务
- enable: True
- watch:
- file: /etc/filebeat/filebeat.yml

 

posted @ 2021-04-19 16:07  芒果~~  阅读(372)  评论(0编辑  收藏  举报