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可以进行多个状态的组合

用法:

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

注意include本身作为一个顶级声明,不允许在一个文件中出现多次

2.extend的使用

扩展某个SLS的状态可以使用extend实现

用法:

include:
  - database.mysql.init
  - web.apache.init

extend:
  apache-install:          //指定需要扩展的id
    pkg.installed:         //指定扩展使用的模块
      - name: wget         //参数

3.require与require_in的使用

  • require:我依赖谁
  • require_in:我被谁依赖
  • 如果所依赖的id段没有执行成功,则require所在的id段不执行指令
    用法
apache-server:
  service.running:
    - name: httpd
    - enable: True
    - require:
      - pkg: apache-install      //表示依赖id为apache-install的pkg模块

4.watch与watch_in的使用

监控某个文件是否改变,如果改变则执行某个指令

用法:

[root@node01 base]# vim web/apache/init.sls 
apache-install:
  pkg.installed:
    - name: httpd

/etc/httpd/conf/httpd.conf:
  file.managed:
    - source: salt://web/apache/file/httpd.conf

apache-server:
  service.running:
    - name: httpd
    - enable: True
    - reload: True
    - require:
      - pkg: apache-install
    - watch:
      - file: /etc/httpd/conf/httpd.conf     

5.unless的使用

状态间的条件判断,如果判断成功则不执行所在id的指令,判断失败则执行

用法:

[root@node01 base]# vim test.sls  
this_test:
  cmd.run:
    - name: hostname
    - unless: test -f /root/abc     //判断root目录中是否有abc文件,没有则执行指令

6.template的使用

使用jinja模板定义变量

用法:

[root@node01 base]# cat test.sls 
/opt/test:
  file.managed:
    - source: salt://file/test
    - template: jinja            //使用模板
    - defaults:                  //定义默认值
      DNS: 114.114.114.114       //定义DNS为114.114.114.114
[root@node01 base]# cat file/test 
nameserver: {{ DNS }}

[root@node02 ~]# cat /opt/test 
nameserver: 114.114.114.114

  系统运维 最新文章
配置小型公司网络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:41:04 
 
开发: 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年5日历 -2024/5/6 4:41:42-

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