Saltstack 集中化管理平台安装

Stella981
• 阅读 657

Saltstack 集中化管理平台安装

Saltstack 集中化管理平台安装

Saltstack 集中化管理平台安装

简介

SaltStack(http://www.saltstack.com/)是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet(http://puppetlabs.com/)和加强版的func(https://fedorahosted.org/func/) Ansible。

SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。有如下特性:

  • 部署简单、方便;

  • 支持大部分UNIX/Linux及Windows环境;

  • 主从集中化管理;

  • 配置简单、功能强大、扩展性强;

  • 主控端(master)和被控端(minion)基于证书认证,安全可靠;

  • 支持API及自定义模块,可通过Python轻松扩展。

通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。目前Saltstack已经趋向成熟,用户群及社区活跃度都不错,同时官方也开放了不少子项目,具体可访问https://github.com/saltstack获得。

SaltStack支持多种操作系统,如CentOS、RedHat、Debian、Ubuntu、FreeBSD、Solaris、Fedora、SuSe、Gentoo、MAC OS X、Archlinux等,以及Windows(仅支持Minion)。

官方文档:http://docs.saltstack.com

中国SaltStack用户组:http://www.saltstack.cn

Saltstack的安装

Saltstack的不同角色服务安装非常简单,建议采用yum源方式来实现部署,下面简单介绍具体步骤。

1.业务环境说明

通过部署一组业务功能服务器来进行演示,操作系统版本为CentOS release 6.5,自Python 2.6.6,相关服务器信息如表。

角色

ID

IP

Groupsnmode

master

saltstack_master.test.com

192.168.1.182

minion

saltstack_web1group_1

192.168.1.183

web1group

minion

saltstack_web1group_2

192.168.1.184

web1group

修改master服务端hosts文件及master端/minion端主机名;

[root@saltstack-master salt]# vim /etc/hosts

挂载光盘,安装EPEL,由于目前RHEL官网yum源还没有Saltstack的软件包支持,因此先安装EPEL作为部署Saltstack的默认yum源。

[root@saltstack-master ~]# mount /dev/cdrom /mnt

主服务器安装Saltstack

[root@saltstack-master ~]# yum -y install salt-master

从服务器安装Saltstack

[root@saltstack_web1group_1 ~]# yum -y install salt-minion

SaltStack防火墙配置

SaltStack master启动后默认监听 4505 和 4506 两个端口。

4505:publish port 为 saltstack 的消息发布系统

4506:ret port 为 saltstack 被控制与服务端通信的端口。

如果使用 lsof 查看4505端口,会发现所有的 minion 在4505端口持续保持在ESTABLISHED状态。

在主控制端添加TCP 4505,TCP 4506的规则,而在被控端无须配置防火墙,原理是被控端直接与主控端的zeromq建立长连接,接受广播到的任务信息并执行,添加两条iptables规则:

[root@saltstack-master ~]# iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT

更新 SaltStack 配置及安装校验

Saltstack分两种角色:一种为master(主控端),另一种为minion(被控端),安装完毕后要对两种角色的配置文件进行修改。

master 主控端配置

[root@saltstack-master ~]# vim /etc/salt/master

minion被控端配置

[root@saltstack_web1group_1 ~]# vim /etc/salt/minion

Saltstack master minion 配置文件

Master端的配置是修改/etc/salt下master配置文件。以下是Master端常用的配置。

Minion常用配置

当/etc/salt/master 没有配置auto_accept: True时,需要通过salt-key 命令来进行证书认证操作,具体操作如下:

认证流程(密钥)

master/minion数据传输采用AES加密算法,salt支持自动认证

把公钥发给master

[root@saltstack-master salt]# cd /etc/salt/pki/master/

校验安装结果

通过test模块的ping方法,可以确认指定被控端设备与主控端是否建立信任关系及连通性是否正常,探测所有被控端采用’*’来代替’ saltstack_web1group_1’即可。

[root@saltstack-master salt]# salt 'saltstack_web1group_1' test.ping

推荐阅读:

1、Eclipse 那些小技巧(值得收藏)

2、这五本书…“咻”嘚一下就送出啦!

3、50 道网络面试题及答案(上)

4、50 道网络面试题及答案(下)

5、10分钟带你搞定 Linux awk命令

6、程序猿:“合格”与“不合格”的差距

7、我和你之间只差一个“空间感”

8、我必须得告诉大家的MySQL优化原理

资源分享:

T级技术资源大放送!包括但不限于:Linux、Python、Java、前端、测试、大数据、人工智能等,具体获取方式请点击下方链接进行查看~Saltstack 集中化管理平台安装 资料大放送①期 | 这份资料很特别!

Saltstack 集中化管理平台安装

扫它,来撩杰哥~

Saltstack 集中化管理平台安装

长按 识别二维码 关注

本文分享自微信公众号 - 杰哥的IT之旅(Jake_Internet)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
2年前
Postman 使用方法详细介绍
1,下载安装:https://www.getpostman.com/apps2,打开Postman,如图所示:!(https://oscimg.oschina.net/oscnet/00f434cd831f2f74fea6f6d7b86bc46a751.png)3,创建一个接口项目!(https://oscimg.oschina.
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Easter79 Easter79
2年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Nginx反向代理upstream模块介绍
!(https://oscimg.oschina.net/oscnet/1e67c46e359a4d6c8f36b590a372961f.gif)!(https://oscimg.oschina.net/oscnet/819eda5e7de54c23b54b04cfc00d3206.jpg)1.Nginx反
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这