SaltStack常用模块和sls文件书写技巧

原文链接

状态模块:pkg
功能:管理软件包状态
常用方法:

pkg.installed    #确保软件包已安装,如果没有就进行安装
pkg.latest    #确保软件包是最新版本,不是的话就升级
pkg.remove    #如果之前安装了软件包就卸载
pkg.purge    #卸载软件包并删除配置文件

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

file.managed    #保证文件存在并且内容一致
file.recurse    #保证目录存在并且为对应状态
file.absent    #如果文件存在就进行删除

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

service.running    #确保服务处于运行状态,没有运行的话则启动
service.enabled    #让服务开机自动启动
service.disabled    #让服务开机不要自动启动
service.dead    #确保服务处于停止状态,服务在运行的话则停止

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

require    #我依赖某个状态,比如安装软件时依赖某个软件包
require_in    #我被某个状态依赖
watch    #我关注某个状态
watch_in    #我被某状态关注

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

apache-service:    #定义id,和apache服务有关
  pkg.installed:    #使用pkg模块的installed功能,可以看出是进行安装软件包
    - name: httpd    #安装包的名字
  file.managed:
    - name: /etc/httpd/conf/httpd.conf
    - source: salt://files/httpd.conf
    - user: root
    - group: root
    - mode: 644
    - require:     #定义该文件依赖于谁
      - pkg: apache-service    #依赖于httpd包,这里使用的是事件的id,因为sls文件只有唯一的pkg事件,就是pkg.installed
  service.running:    #定义服务状态
    - name: httpd    #服务名称
    - enable: True    #开启服务
    - reload: True    #当文件发生变动时如果服务支持重载的话就进行重载而非重启
    - watch:    #文件发生变化时重启服务
     -file: apache-service    #哪个文件发生变化时重启服务

mysql-service:    #定义id,可以看出是和mysql有关
  pkg.installed:    #使用pkg模块的installed功能,可以看出是进行安装软件包
    -name: mysql-server    #安装包的名字
    -require_in:    #该软件包被什么文件依赖
      - file: mysql-service    #被依赖的文件是该事件id下的file模块内的文件,由于sls是唯一的,可以得知是my.cnf文件
  file.managed:    #使用file模块的managed功能,说明是在进行文件内容的修改
    - name: /etc/my.cnf    #要修改的文件
    - source: salt://files/my.cnf    #参考该文件来修改要被修改的文件
    - user: root
    - group: root
    - mode: 644
  service.running:    #使用service模块的running功能,说明是要启动服务
    - name: mysqld    #要启动的服务名字
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值