IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> SaltStack状态间的关系模块 -> 正文阅读

[系统运维]SaltStack状态间的关系模块

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

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:38:59  更:2021-07-15 16:40:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:46:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码