SaltStack配置管理
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配置管理相关推荐
- saltstack配置管理数据系统
saltstack配置管理 1.YAML语言 2.用SaltStack配置一个apache实例 3.top file 3.1 highstate高级状态的使用 4.数据系统grains和pillar的 ...
- saltstack配置管理和数据系统
文章目录 1.YAML语言 2. 用SaltStack配置一个yum安装的nginx实例 3. top file 3.1 top file介绍 3.2 top file实例 3.3 高级状态highs ...
- saltstack(八):saltstack配置管理-安装配置启动tomcat样例
Saltstack配置启动tomcat 判断minion有没有安装jdk和tomcat,没有就分别源码安装,并以普通用户启动. #有一个认识上的坑,saltstack实际上是基于状态管理,例如说tom ...
- SaltStack配置管理之Gains与State测试
SaltStack的Grains主要是收集了minion的一些配置信息,如CPU.内存.硬盘.网络.操作系统等很少发生变化的静态数据,我们也可以在minion自定义Grains项和相应的值,Grain ...
- saltstack配置管理之YAML(二)
YAML语言有三个格则,掌握好一定要,要不然很多坑 一定要用.sls结尾 1.缩进(层级关系) 2个空格,不要使用TAB键(跟python很像) 2.冒号: 层级关系 键值对 :号后面要有空格 3.短 ...
- 标杆徐2018 Linux自动化运维实战,标杆徐2018 Linux自动化运维系列⑦: SaltStack自动化配置管理实战...
结合企业自动化集群场景讲解,轻松玩转SaltStack自动化配置管理工具 第1章 SaltStack基础应用 SaltStack安装 SaltStack认证 Saltstack远程执行 SaltSta ...
- 自动化运维之SaltStack实践
自动化运维之SaltStack实践 1.1.环境 linux-node1(master服务端) 192.168.0.15 linux-node2(minion客户端) 192.168.0.16 1.2 ...
- SaltStack之return与job管理
1. SaltStack组件之return return组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL.MongoD ...
- 自动化运维saltstack(资源)
2019独角兽企业重金招聘Python工程师标准>>> 简介 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的pupp ...
最新文章
- MVC中实现多按钮提交(转)
- 利用ajax赋值,jquery利用async在ajax中给全局变量赋值
- VS2005 Web Application Project启用WSE(Ver 3.0)的方法
- pandas 每一列相加_Python3 numpy amp; pandas 学习笔记
- android的图片缩放,Android图片缩放总结及比较
- mysql 用户与数据_MySQL经验9-用户和数据安全
- nor flash和nand flash
- 杭电1713相遇周期
- DDoS booter滥用 DTLS 服务器放大攻击
- poj 1962 Corporative Network 并查集,很容易超时,大家要注意合并
- Android ImageButton使用详解(系列教程四)
- 数据库中的内连接、自然连接、和外连接的区别
- win10右键文件夹转圈卡死
- MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded...
- javaScript常用案例
- 手把手教你摆地摊之摆摊卖什么
- 记一次微信分享的坑,ios和安卓分享打开的url不一样
- 互联网寒冬,软件测试尚能饭否?
- 创龙Xilinx Zynq-7000系列SoC高性能处理器SATA接口
- 计算机网络交换机命令汇总,锐捷交换机常用配置命令汇总,收藏备用!
热门文章
- HEG安装教程(windows平台)
- 红黑树(Red-Black Tree,RBT)
- 曾国藩:凡读书,不必苦求强记
- press ESC in 1 seconds to skip startup.nsh,any other key to continue
- 计算机更新配置卡住了,win10更新设置卡死怎么办|win10更新设置卡死的完美解决方法...
- 全球与中国生物质颗粒市场深度研究分析报告
- 数据结构与算法(一) 链表(代码示例)
- 淘宝和微信的扫码登录实现原理
- 训练好的神经网络 如何预测_普通人如何拥有好声音 精简版入门训练方法总结...
- canvas教程大纲