SaltStack状态间的关系

本文介绍了如何通过include模块组合多个SLS状态,extend功能扩展特定机器的安装需求,以及如何使用unless进行条件判断以提高部署效率。重点讲解了require和require_in在依赖关系管理中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

include

引用多个SLS的状态可以用include模块实现,include模块通常放在文件顶部,引用多个状态文件,一般在状态文件的开头使用。
需求场景:用于含有多个SLS的状态,使用include可以进行多个状态的组合

include:
  - base       //需要引用的sls
  - emacs      //需要引用的sls

extend

扩展某个SLS的状态可以使用extend实现,一般在基础的安装状态文件写好后,在项目中使用此安装状态时发现需要一些不是通用的特性时,可以使用extend扩展某个id的功能。
需求场景:软件包安装的时候,需求假设:只在node1上按装php-mbstring包,其他的机器不安装。

unless

状态间的条件判断,如果判断成功则不执行所在id下的额模块,判断失败则执行所在id下的模块。一般使用在没有幂等性的cmd.run模块下

watch

监控指定id的指定模块,使用在监控方,一般是监控配置文件,表示若被监控方的文件改变了,那么监控方则执行配置好的指令。

watch_in

与watch相反,指定由哪个id来监控此模块,使用在被监控方,即表示此模块中的文件发生了改变,那么监控方则执行配置好的指令。

require与require_in

require:我依赖谁

require_in:我被谁依赖

如果所依赖的id段没有执行成功,则require所在的id段不执行指令

需求场景:如果安装不成功或者配置httpd不成功,不启动httpd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值