saltstack自动化运维系列①之saltstack服务安装及简单使用
Saltstack介绍
Salt三种运行方式
1.local本地运行
2.Master/Minion
3.Salt ssh
Salt的三大功能
a.远程执行
b.配置管理(状态管理)
c.云管理:阿里云,aws,openstack都提供了封装好的接口,可以使用salt-cloud进行云主机的管理
Saltstack环境准备
第一台:mini1,既作为salt-master,又作为salt-minion
第二台:node2.chinasoft.com,只作为salt-minion
1.安装salt客户端和服务端
环境:
主机master 192.168.3.12:
yum install -y salt-master salt-minion
启动服务端
/etc/init.d/salt-master start
被控制端192.168.3.19:
yum install -y salt-minion
cat /etc/hosts
192.168.3.12 mini1
192.168.3.16 node2.chinasoft.com
2.修改客户端配置
vim /etc/salt/minion
将master改为master主机地址
master: 192.168.3.12
启动客户端
/etc/init.d/salt-minion start
3.Saltstack的认证
minion首次启动后会在minion端看到minion的私钥和公钥,salt会把公钥发送给master
将客户端同意加入信任列表
# salt-key -a mini1
# salt-key -a node2.chinasoft.com
可以看到/etc/salt/pki/minion目录下有了minion_master.pub文件,这个就是master的公钥
salt-key -a 支持通配符,比如salt-key -a mini* 统一mini开头的主机名加入信任列表
4.Saltstack的远程执行
使用test.ping测试master和minion是否连通
salt:基本命令; *:代表所有minion主机;test:模块; ping:test模块的一个方法,这里的单引号也可以使用双引号
批量执行简单命令:
# salt '*' test.ping
node2.chinasoft.com:
True
mini1:
True
使用cmd.run远程执行命令,cmd是模块,run是cmd模块的一个方法
启动时间
# salt '*' cmd.run 'uptime'
node2.chinasoft.com:
09:52:35 up 3 days, 16:38, 2 users, load average: 0.00, 0.02, 0.00
mini1:
09:52:35 up 1 day, 19:48, 1 user, load average: 0.01, 0.02, 0.01
磁盘大小
# salt '*' cmd.run 'df -Th'
mini1:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg0-root ext4 25G 1.6G 23G 7% /
tmpfs tmpfs 495M 16K 495M 1% /dev/shm
/dev/sda1 ext4 291M 39M 238M 14% /boot
/dev/mapper/vg0-usr ext4 20G 2.8G 16G 15% /usr
/dev/mapper/vg0-var ext4 9.7G 1004M 8.2G 11% /var
node2.chinasoft.com:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_node2-root ext4 29G 994M 27G 4% /
tmpfs tmpfs 935M 12K 935M 1% /dev/shm
/dev/sda1 ext4 485M 39M 421M 9% /boot
/dev/mapper/vg_node2-data ext4 29G 239M 28G 1% /data
/dev/mapper/vg_node2-usr ext4 9.7G 2.0G 7.2G 22% /usr
/dev/mapper/vg_node2-web ext4 25G 172M 23G 1% /web
5.配置管理
创建salt的工作目录,启用配置管理:
file_root代表文件目录所在,base指base环境,是必须存在的,这里支持多种(测试开发生产等)环境,后续会提到
简单安装一个apache服务,并添加到自启动
vim /etc/salt/master
file_roots:
base:
- /srv/salt
创建/srv/salt目录
mkdir /srv/salt
# /etc/init.d/salt-master restart
# 编写脚本安装apache服务并开机自启动,注意空格不能用tab键代替
vim /srv/salt/apache.sls apache-install:
pkg.installed:
- names:
- httpd
- httpd-devel apache-service:
service.running:
- name: httpd
- enable: True
- reload: True
执行脚本:
# salt '*' state.sls apache
关于配置文件apache.sls的解释(注意生产环境的配置文件不要将#后面的内容放进去,否则会报错):
apache-install: #服务ID
pkg.installed: #apache:模块 install:方法
- names: #names列表
- httpd #会使用yum安装httpd
- httpd-devel #会使用yum安装httpd-devel
apache-service: #服务ID
service.running: #service:模块 running:方法
- name: httpd #name:指定http的服务用来service.running
- enable: True #开机启动
- reload: True #支持重载
执行后可以看到已经成功完成apache的安装及启动
saltstack自动化运维系列①之saltstack服务安装及简单使用的更多相关文章
- saltstack自动化运维系列⑤之saltstack的配置管理详解
saltstack自动化运维系列⑤之saltstack的配置管理详解 配置管理初始化: a.服务端配置vim /etc/salt/master file_roots: base: - /srv/sal ...
- saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入
saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入salt的返回值写入mysql数据库:可参考:https://docs.saltstack.com/en/lat ...
- saltstack自动化运维系列③之saltstack的常用模块使用
saltstack自动化运维系列③之saltstack的常用模块使用 1.命令的常用方法: 指定主机运行命令 # salt 'mini1' cmd.run 'date'mini1: Fri Apr 7 ...
- saltstack自动化运维系列②之saltstack的数据系统
saltstack自动化运维系列②之saltstack的数据系统 grains:搜集minion启动时的系统信息,只有在minion启动时才会搜集,grains更适合做一些静态的属性值的采集,例如设备 ...
- SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...
- SQL Server自动化运维系列——监控跑批Job运行状态(Power Shell)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在上一篇文章中已经分析了SQL SERVER中关于邮 ...
- SQL Server自动化运维系列——监控性能指标脚本(Power Shell)
需求描述 一般在生产环境中,有时候需要自动的检测指标值状态,如果发生异常,需要提前预警的,比如发邮件告知,本篇就介绍如果通过Power shell实现状态值监控 监控值范围 根据经验,作为DBA一般需 ...
- SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)
需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...
- SQL Server自动化运维系列——关于数据收集(多服务器数据收集和性能监控)
需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...
随机推荐
- 前端学习 -- Html&Css -- 条件Hack 和属性Hack
条件Hack 语法: <!--[if <keywords>? IE <version>?]> HTML代码块 <![endif]--> <keyw ...
- 2019.3.18考试&2019.3.19考试&2019.3.21考试
2019.3.18 C O D E T1 树上直接贪心,环上for一遍贪心 哇说的简单,码了将近一下午终于码出来了 感觉自己码力/写题策略太糟糕了,先是搞了一个细节太多的写法最后不得不弃疗了,然后第二 ...
- [luogu2822][组合数问题]
题目链接 题解: 对于上面和下面的式子进行分解质因数,然后看看上面的质因数个数减去下面的质因数个数能不能达到k的质因数的要求即可. 分解质因数的时候用对于阶乘分解质因数的常用方法:比如要求1999!中 ...
- C# winform C/S WebBrowser qq第三方授权登录
qq的授权登录,跟微信相似,不同的地方是: 1 申请appid与appkey的时候,注意填写回调地址. 2 这里可以在WebBrowser的是Navigated事件中直接得到Access Token, ...
- centos7 上配置Javaweb---MySQL的安装与配置、乱码解决
上一篇谢了关于jdk和tomcat的安装.今天先更新一下有用的. 1. 不用关闭防火墙,把80端口添加进防火墙的开放端口. firewall-cmd --zone=public --add-port= ...
- 20145215《网络对抗》Exp9 Web安全基础实践
20145215<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...
- JS基本包装类型之三(String)
1. 基本数据类型和基本包装类型 这里以字符串类型来讲解基本数据类型和基本包装类型. JS中存在基本数据类型String(typeof返回"string"), 也存在基本包装数据类 ...
- 监听INPUT值的即时变化
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Linux命令之ll
ll命令 用处:以长格形式列出当前目录下的所有文件,每个文件的长度和创建时间不同. 用法:输入 ll 示例: 前面的一大串字母的意思,第一个要么是d要么是-,d的意思就是目录,-的意思就是文件.其后的 ...
- 多目标遗传算法 ------ NSGA-II (部分源码解析)父、子种群合并 merge.c
/* Routine for mergeing two populations */ # include <stdio.h> # include <stdlib.h> # in ...