一、基础介绍

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部署相关推荐

  1. saltstack部署java应用失败无日志——CICD 部署

    大家好,我是烤鸭: ​   最近在搞公司的CICD,遇到各种问题.复盘总结一下. CICD 架构 这篇文章写得很详细,可以看一下 https://linux.cn/article-9926-1.htm ...

  2. salt-stack部署

    saltstack部署 环境准备 [root@server elasticsearch]# cat /etc/redhat-release  CentOS release 6.6 (Final) [r ...

  3. SaltStack 部署案例 02

    远程执行 salt '*' state.sls apache'*':代表所有主机state.sls :是一个模块apache : 状态 ,表示需要部署的内容,后缀.sls YAML:三板斧 1. 缩进 ...

  4. saltstack(1)环境部署、(2)Grains

    文章目录 一.saltstack部署 1.安装和启动 1)准备yum源 2)master和minion安装包 3)master端执行命令允许minion连接 4)master端测试与minion端的连 ...

  5. 自动化运维工具——SaltStack(上)

    SaltStack 一.SaltStack简介 二.SaltStack部署 三.远程执行模块 四.apache自动安装配置 五.nginx 自动化安装 六.grains模块使用 1.grains默认模 ...

  6. saltstack入门

    saltstack 文章目录 saltstack 什么是saltstack 为什么要选择saltstack saltstack部署 在控制机上安装saltstack主控端软件 在被控机上安装salt- ...

  7. 基于linux的nas系统下载,OpenMediaVault 5.3.9 发布,基于Debian Linux的NAS解决方案

    OpenMediaVault是基于Debian GNU/Linux的网络附加存储(NAS)解决方案.该项目的最新版本是5.3.9,项目将其简单地称为版本5. 经过漫长的开发阶段,很高兴宣布openme ...

  8. ansible安装配置及实例

    前面两篇文章主要介绍了运维自动化工具 puppet 和 saltstack 部署安装以及使用: puppet:http://msiyuetian.blog.51cto.com/8637744/1745 ...

  9. 解决 error: Your local changes to the following files would be overwritten by merge:XXXX

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. idea 上将本地代码推送到 git后 , 报错如下图 error: Your local chan ...

最新文章

  1. 不断的困惑:为什么我仍然使用JavaScript函数语句
  2. linux教程for语句,Shell脚本for循环语句简明教程
  3. android+百度lbs云,百度——LBS.云 v2.0——云存储扩展字段——Android
  4. iOS 从相机或相册获取图片并裁剪
  5. 《TensorFlow深度学习应用实践》学习笔记1
  6. 学习Python的几个优质平台
  7. excel文件因服务器未响应无法打开,excel打开显示兼容模式(未响应)
  8. win7桌面运行html,Win7桌面ie浏览器图标无法打开的原因及解决方法
  9. 什么是资产证券化 - 以及资产支持证券在实际中的应用
  10. 攻防世界Web新手区题解(超详细)
  11. 操作系统笔记(本科必修课)
  12. nodejs追加写入日志文件
  13. 如何低成本减少企业知识流失?天翎知识文档系统+群晖NAS值得一试
  14. Java 使用word模板创建word文档报告教程
  15. python编程midi键盘按键错乱_电脑键盘按键错乱怎么回事?几步轻松搞定
  16. shell中遍历字符串
  17. VTK笔记-CT图像获取皮肤等值面-vtkContourFilter类的使用
  18. 对java 链表删除节点 引用误区理解:对局部变量 cur= cur.next及cur.next=cur.next.next,及cur.next = cur.next.next.next的理解图解
  19. x3850X5如何添加CPU和QPI Wrap Card及两节点配置说明
  20. C#:根据银行卡卡号判断银行名称

热门文章

  1. 【Uva 10934】Dropping water balloons
  2. 【矩阵】概念的理解 —— span、基
  3. 《Linux4.0设备驱动开发详解》笔记--第三章:Linux下的C编程特点
  4. Java基础学习(一)—方法
  5. pat1035. Password (20)
  6. ThinikPHP 前端URL模式
  7. 汉字转拼音(VB版)
  8. ST:看物联网老兵的平台化战略雄心
  9. 绝对定位元素设置水平居中
  10. Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化