SaltStack部署
一、基础介绍
1、简介
SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func。SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。
通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
2、特性
(1)、部署简单、方便;
(2)、支持大部分UNIX/Linux及Windows环境;
(3)、主从集中化管理;
(4)、配置简单、功能强大、扩展性强;
(5)、主控端(master)和被控端(minion)基于证书认证,安全可靠;
(6)、支持API及自定义模块,可通过Python轻松扩展。
3、Master与Minion认证
(1)、minion在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion里面设置)下自动生成minion.pem(private key)和 minion.pub(public key),然后将 minion.pub发送给master。
(2)、master在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的 public key,然后master就能对minion发送指令了。
4、Master与Minion的连接
(1)、SaltStack master启动后默认监听4505和4506两个端口。4505(publish_port)为saltstack的消息发布系统,4506(ret_port)为saltstack客户端与服务端通信的端口。如果使用lsof 查看4505端口,会发现所有的minion在4505端口持续保持在ESTABLISHED状态。
(2)、minion与master之间的通信模式如下:
以上内容转载自:http://sofar.blog.51cto.com/353572/1596960
二、SaltStack基础安装与配置
1. yum安装
CentOS7 安装 yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm -yyum install salt-master -yyum install salt-minion -yCentOS6 安装 https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm yum install salt-master -yyum install salt-minion -y
2. 配置
Master """ 1. 修改配置文件:/etc/salt/masterinterface: 0.0.0.0 # 表示Master的IP 2. 启动service salt-master start """Slave """ 1. 修改配置文件 /etc/salt/minionmaster: 10.211.55.4 # master的地址或master:- 10.211.55.4- 10.211.55.5random_master: Trueid: c2.salt.com # 客户端在salt-master中显示的唯一ID 2. 启动service salt-minion start """
3. 授权
Master """ salt-key -L # 查看已授权和未授权的slave salt-key -a salve_id # 接受指定id的salve salt-key -r salve_id # 拒绝指定id的salve salt-key -d salve_id # 删除指定id的salve """
4. 执行命令
在master服务器上对salve进行远程操作
基于shell命令
salt 'c2.salt.com' cmd.run 'ifconfig'
基于Salt的API
import salt.clientlocal = salt.client.LocalClient() result = local.cmd('c2.salt.com', 'cmd.run', ['ifconfig'])
参考资料:
1. http://sofar.blog.51cto.com/353572/1596960
2. http://www.cnblogs.com/wupeiqi/articles/6415436.html
转载于:https://www.cnblogs.com/OldJack/p/7242268.html
SaltStack部署相关推荐
- saltstack部署java应用失败无日志——CICD 部署
大家好,我是烤鸭: 最近在搞公司的CICD,遇到各种问题.复盘总结一下. CICD 架构 这篇文章写得很详细,可以看一下 https://linux.cn/article-9926-1.htm ...
- salt-stack部署
saltstack部署 环境准备 [root@server elasticsearch]# cat /etc/redhat-release CentOS release 6.6 (Final) [r ...
- SaltStack 部署案例 02
远程执行 salt '*' state.sls apache'*':代表所有主机state.sls :是一个模块apache : 状态 ,表示需要部署的内容,后缀.sls YAML:三板斧 1. 缩进 ...
- saltstack(1)环境部署、(2)Grains
文章目录 一.saltstack部署 1.安装和启动 1)准备yum源 2)master和minion安装包 3)master端执行命令允许minion连接 4)master端测试与minion端的连 ...
- 自动化运维工具——SaltStack(上)
SaltStack 一.SaltStack简介 二.SaltStack部署 三.远程执行模块 四.apache自动安装配置 五.nginx 自动化安装 六.grains模块使用 1.grains默认模 ...
- saltstack入门
saltstack 文章目录 saltstack 什么是saltstack 为什么要选择saltstack saltstack部署 在控制机上安装saltstack主控端软件 在被控机上安装salt- ...
- 基于linux的nas系统下载,OpenMediaVault 5.3.9 发布,基于Debian Linux的NAS解决方案
OpenMediaVault是基于Debian GNU/Linux的网络附加存储(NAS)解决方案.该项目的最新版本是5.3.9,项目将其简单地称为版本5. 经过漫长的开发阶段,很高兴宣布openme ...
- ansible安装配置及实例
前面两篇文章主要介绍了运维自动化工具 puppet 和 saltstack 部署安装以及使用: puppet:http://msiyuetian.blog.51cto.com/8637744/1745 ...
- 解决 error: Your local changes to the following files would be overwritten by merge:XXXX
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. idea 上将本地代码推送到 git后 , 报错如下图 error: Your local chan ...
最新文章
- 不断的困惑:为什么我仍然使用JavaScript函数语句
- linux教程for语句,Shell脚本for循环语句简明教程
- android+百度lbs云,百度——LBS.云 v2.0——云存储扩展字段——Android
- iOS 从相机或相册获取图片并裁剪
- 《TensorFlow深度学习应用实践》学习笔记1
- 学习Python的几个优质平台
- excel文件因服务器未响应无法打开,excel打开显示兼容模式(未响应)
- win7桌面运行html,Win7桌面ie浏览器图标无法打开的原因及解决方法
- 什么是资产证券化 - 以及资产支持证券在实际中的应用
- 攻防世界Web新手区题解(超详细)
- 操作系统笔记(本科必修课)
- nodejs追加写入日志文件
- 如何低成本减少企业知识流失?天翎知识文档系统+群晖NAS值得一试
- Java 使用word模板创建word文档报告教程
- python编程midi键盘按键错乱_电脑键盘按键错乱怎么回事?几步轻松搞定
- shell中遍历字符串
- VTK笔记-CT图像获取皮肤等值面-vtkContourFilter类的使用
- 对java 链表删除节点 引用误区理解:对局部变量 cur= cur.next及cur.next=cur.next.next,及cur.next = cur.next.next.next的理解图解
- x3850X5如何添加CPU和QPI Wrap Card及两节点配置说明
- C#:根据银行卡卡号判断银行名称