SaltStack状态间的关系模块
2021/7/14 23:47:29
本文主要是介绍SaltStack状态间的关系模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1. include
- 2. extend
- 3. require与require_in
- 4. watch与watch_in
- 5. unless
- 6. template
1. include
以解耦的方式写了多个sls文件以后,可以用include模块来搭配sls状态文件,include模块通常放在文件顶部。
//语法 include: - file.sls #sls文件路径,可以包含多个 - file.sls ... //例如 include: - modules.web.nginx.install - modules.database.mysql.install
2. extend
扩展某个SLS的状态
//语法 extend: id: //指定需要扩展的id module: //指定扩展使用的模块 - name: //参数 //例如 extend: nginx-install: pkg.installed: - name: openssl
3. require与require_in
require:需要。依赖某个状态
require_in:被需要。被某个状态需要
如果所依赖的id没有执行成功,则require所在的id不会执行
//语法 - require: - module: id //例如 nginx: service.running: - enable:True - require: - file: /etc/nginx/nginx.conf #表示nginx启动依赖这个配置文件
4. watch与watch_in
watch:监控某个状态
watch_in:被某个状态监控
//语法 - watch: - module:id //例如 nginx-service: service.running: - reload: True - watch: #表示监控id为/usr/local/nginx/conf/nginx.conf的file模块 - file: /usr/local/nginx/conf/nginx.conf
5. unless
条件判断,如果判断条件成立则不执行所在id的指令,判断条件不成立则执行,常用于cmd模块下使用,因为cmd模块执行是不具有幂等性的,为了防止状态执行多遍,unless判断就非常有必要。
//语法 - unless: test ... //例如 salt://modules/web/nginx/files/nginx_install.sh: cmd.script: - unless: test -d /usr/local/nginx #表示如果这个目录存在则不行以上指令
6. template
定义变量
salt-minion-conf: file.managed: - name: /etc/salt/minion - source: salt://files/minion - user: root - group: root - mode: 644 - template: jinja #使用jinjia模板 - default: #定义默认值 ID: {{ grains['ipv4'] [1] }} - require: - pkg: salt-minion-install
参考官方文档
https://docs.saltproject.io/en/latest/ref/states/requisites.html#require
这篇关于SaltStack状态间的关系模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-06怎么解决跨域资源共享(CORS)问题?-icode9专业技术文章分享
- 2024-11-06在高德地图中怎么取经纬度-icode9专业技术文章分享
- 2024-11-06如何计算两个GPS坐标之间的距离-icode9专业技术文章分享
- 2024-11-06可视化的操作流程步骤是什么-icode9专业技术文章分享
- 2024-11-06TypeScript面试真题详解与实战攻略
- 2024-11-06TypeScript大厂面试真题解析与实战教程
- 2024-11-05Snowflake Cortex大语言模型函数:让AI数据查询更简单高效
- 2024-11-05Azure开发更轻松:VS Code中的GitHub Copilot for Azure公测版
- 2024-11-05Databricks与Snowflake:数据处理实力大比拼
- 2024-11-05Sealos Devbox 使用教程:使用 Cursor 开发一个高仿苹果官网