1、YAML语言

YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。

YAML语言的格式如下:

house:family:name: Doeparents:- John- Janechildren:- Paul- Mark- Simone

YAML的基本规则:

使用缩进来表示层级关系,每层2个空格,禁止使用TAB键
当冒号不是处于最后时,冒号后面必须有一个空格
用 - 表示列表,- 的后面必须有一个空格
用 # 表示注释
YAML配置文件要放到saltstack让我们放的位置,可以在saltstack的 Master 配置文件中查找file_roots即可看到。

bash 基础环境
test 测试环境
dev  开发环境
prod 生成环境

添加到配置文件

[root@JLin ~]# vim /etc/salt/master682 file_roots:683   base:684     - /srv/salt/base685   test:686     - /srv/salt/test687   dev:688     - /srv/salt/dev689   prod:690     - /srv/salt/prod[root@JLin ~]# mkdir -p /srv/salt/{base,test,dev,prod}
[root@JLin ~]# tree /srv/salt/
/srv/salt/
├── base
├── dev
├── prod
└── test4 directories, 0 files
[root@JLin ~]# systemctl restart salt-master
[root@JLin ~]#
  • 需要注意:base是默认的位置,如果file_roots只有一个,则base是必备的且必须叫base,不能改名

2、用saltstack配置一个apache实例

[root@JLin ~]# cd /srv/salt/base/
[root@JLin base]# mkdir -p web/apache
[root@JLin base]# tree
.
└── web└── apache2 directories, 0 files
[root@JLin base]# vim web/apache/install.sls   // 生成一个状态描述文件
[root@JLin base]# cat web/apache/install.sls
apache-install:pkg.installed:- name: httpdapache-service:service.running:- name: httpd- enable: True
[root@JLin base]# //  YAML 配置文件中顶格写的被称作ID,必须全局唯一,不能重复
//  SaltStack 读 YAML 配置文件时是从上往下读,所以要把先执行的写在前面

执行状态描述文件

[root@JLin base]# tree
.
└── web└── apache└── install.sls2 directories, 1 file
[root@JLin base]# salt 'JiaL' state.sls web.apache.install saltenv=base

2.1 在JiaL上检查

[root@JiaL ~]# systemctl status httpd
- httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)Active: active (running) since Tue 2021-11-02 23:34:45 CST; 3min 5s agoDocs: man:httpd.service(8)Main PID: 11661 (httpd)Status: "Running, listening on: port 80"Tasks: 213 (limit: 23789)Memory: 33.7MCGroup: /system.slice/httpd.service├─11661 /usr/sbin/httpd -DFOREGROUND├─11666 /usr/sbin/httpd -DFOREGROUND├─11667 /usr/sbin/httpd -DFOREGROUND├─11668 /usr/sbin/httpd -DFOREGROUND└─11669 /usr/sbin/httpd -DFOREGROUND

由以上内容可知apache确实已部署成功。
执行状态文件的技巧:

先用test.ping测试需要执行状态文件的主机是否能正常通信,然后再执行状态文件

3、top file

3.1 top file介绍

直接通过命令执行sls文件时够自动化吗?答案是否定的,因为我们还要告诉某台主机要执行某个任务,自动化应该是我们让它干活时,它自己就知道哪台主机要干什么活,但是直接通过命令执行sls文件并不能达到这个目的,为了解决这个问题,top file 应运而生。

top file就是一个入口,top file的文件名可通过在 Master的配置文件中搜索top.sls找出,且此文件必须在 base 环境中,默认情况下此文件必须叫top.sls。

top file的作用就是告诉对应的主机要干什么活,比如让web服务器启动web服务,让数据库服务器安装mysql等等。
top file 实例:

// 创建状态文件
[root@JLin base]# cat web/apache/install.sls
apache-install:pkg.installed:- name: httpdapache-service:service.running:- name: httpd- enable: True
[root@JLin base]# cat web/nginx/install.sls
nginx-install:pkg.installed:- name: nginxnginx-service:service.running:- name: nginx- enable: true
[root@JLin base]# vim top.sls
[root@JLin base]# cat top.sls
base:   // 要执行状态文件的环境JiaL:   // 要执行状态文件的目标- web.nginx.install     // 要执行的状态文件  JLLL:   // 要执行状态文件的目标- web.apache.install    // 要执行的状态文件
// 检查两个节点的服务是否安装
[root@JiaL ~]# yum -y remove httpd
[root@JiaL ~]# rpm -qa|grep nginx
[root@JiaL ~]#
[root@JLLL ~]# rpm -qa|grep httpd
[root@JLLL ~]# [root@JLin base]# salt '*' state.highstate saltenv=base   // 使用高级状态来执行// 查看服务
[root@JiaL ~]# systemctl status nginx.service [root@JLLL ~]# systemctl status httpd

3.2 高级状态highstate的使用
管理saltstack时一般最常用的管理操作就是执行高级状态

[root@JLin ~]# salt '*' state.highstate   // 生产环境禁止这样使用salt命令

注意:
上面让所有人执行高级状态,但实际工作当中,一般不会这么用,工作当中一般都是通知某台或某些台目标主机来执行高级状态,具体是否执行则是由top file来决定的。

若在执行高级状态时加上参数test=True,则它会告诉我们它将会做什么,但是它不会真的去执行这个操作。

// 停掉JLLL上的httpd服务
[root@JLLL ~]# systemctl stop httpd.service // 在master上执行高级状态的测试
[root@JLin base]# salt '*' state.highstate test=True// 在JLLL上查看httpd是否启动
[root@JLLL ~]# systemctl stop httpd.service
[root@JLLL ~]# systemctl status httpd

http://www.taodudu.cc/news/show-2741771.html

相关文章:

  • OpenSSH
  • nginx的工作原理与nginx的配置
  • sed高级命令
  • MySQL 5.6 (Win7 64位)下载、安装与配置图文教程
  • Zabbix主页应用介绍
  • FreeBSD 虚拟化(jail) 初体验
  • SaltStack数据系统
  • Rsync简介和使用
  • saltstack高效运维简介和部署,SaltStack 与 Ansible 如何选择?
  • SaltStack简介和安装
  • htpp
  • 直接启动htpp服务
  • 常见的HTPP状态码
  • htpp学习
  • QT 多线程异步获取htpp信息 网络通信
  • 快速搞懂htpp原理
  • htpp-server开启https服务终端报错问题
  • 初识htpp与tcp
  • htpp proxy
  • NET 模拟Htpp请求
  • HTTP-Runoob:HTPP Content-Type
  • 【node.js】一个基于HTPP的服务
  • python中的请求方法_Python爬虫HTPP请求方法有哪些
  • HTPP的请求方式有哪些?
  • Htpp发展史
  • HTPP常见状态码
  • 【HTTP】HTPP学习笔记
  • golang构建htpp服务
  • 通过Htpp访问svn内容
  • Python爬虫-关于HTPP请求方法有哪些

SaltStack配置管理相关推荐

  1. saltstack配置管理数据系统

    saltstack配置管理 1.YAML语言 2.用SaltStack配置一个apache实例 3.top file 3.1 highstate高级状态的使用 4.数据系统grains和pillar的 ...

  2. saltstack配置管理和数据系统

    文章目录 1.YAML语言 2. 用SaltStack配置一个yum安装的nginx实例 3. top file 3.1 top file介绍 3.2 top file实例 3.3 高级状态highs ...

  3. saltstack(八):saltstack配置管理-安装配置启动tomcat样例

    Saltstack配置启动tomcat 判断minion有没有安装jdk和tomcat,没有就分别源码安装,并以普通用户启动. #有一个认识上的坑,saltstack实际上是基于状态管理,例如说tom ...

  4. SaltStack配置管理之Gains与State测试

    SaltStack的Grains主要是收集了minion的一些配置信息,如CPU.内存.硬盘.网络.操作系统等很少发生变化的静态数据,我们也可以在minion自定义Grains项和相应的值,Grain ...

  5. saltstack配置管理之YAML(二)

    YAML语言有三个格则,掌握好一定要,要不然很多坑 一定要用.sls结尾 1.缩进(层级关系) 2个空格,不要使用TAB键(跟python很像) 2.冒号: 层级关系 键值对 :号后面要有空格 3.短 ...

  6. 标杆徐2018 Linux自动化运维实战,标杆徐2018 Linux自动化运维系列⑦: SaltStack自动化配置管理实战...

    结合企业自动化集群场景讲解,轻松玩转SaltStack自动化配置管理工具 第1章 SaltStack基础应用 SaltStack安装 SaltStack认证 Saltstack远程执行 SaltSta ...

  7. 自动化运维之SaltStack实践

    自动化运维之SaltStack实践 1.1.环境 linux-node1(master服务端) 192.168.0.15 linux-node2(minion客户端) 192.168.0.16 1.2 ...

  8. SaltStack之return与job管理

    1. SaltStack组件之return return组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL.MongoD ...

  9. 自动化运维saltstack(资源)

    2019独角兽企业重金招聘Python工程师标准>>> 简介 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的pupp ...

最新文章

  1. MVC中实现多按钮提交(转)
  2. 利用ajax赋值,jquery利用async在ajax中给全局变量赋值
  3. VS2005 Web Application Project启用WSE(Ver 3.0)的方法
  4. pandas 每一列相加_Python3 numpy amp; pandas 学习笔记
  5. android的图片缩放,Android图片缩放总结及比较
  6. mysql 用户与数据_MySQL经验9-用户和数据安全
  7. nor flash和nand flash
  8. 杭电1713相遇周期
  9. DDoS booter滥用 DTLS 服务器放大攻击
  10. poj 1962 Corporative Network 并查集,很容易超时,大家要注意合并
  11. Android ImageButton使用详解(系列教程四)
  12. 数据库中的内连接、自然连接、和外连接的区别
  13. win10右键文件夹转圈卡死
  14. MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded...
  15. javaScript常用案例
  16. 手把手教你摆地摊之摆摊卖什么
  17. 记一次微信分享的坑,ios和安卓分享打开的url不一样
  18. 互联网寒冬,软件测试尚能饭否?
  19. 创龙Xilinx Zynq-7000系列SoC高性能处理器SATA接口
  20. 计算机网络交换机命令汇总,锐捷交换机常用配置命令汇总,收藏备用!

热门文章

  1. HEG安装教程(windows平台)
  2. 红黑树(Red-Black Tree,RBT)
  3. 曾国藩:凡读书,不必苦求强记
  4. press ESC in 1 seconds to skip startup.nsh,any other key to continue
  5. 计算机更新配置卡住了,win10更新设置卡死怎么办|win10更新设置卡死的完美解决方法...
  6. 全球与中国生物质颗粒市场深度研究分析报告
  7. 数据结构与算法(一) 链表(代码示例)
  8. 淘宝和微信的扫码登录实现原理
  9. 训练好的神经网络 如何预测_普通人如何拥有好声音 精简版入门训练方法总结...
  10. canvas教程大纲