运维项目实训—SaltStack安装与配置

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、说明

Saltstack 比 Puppet 出来晚几年,是基于Python 开发的,也是基于 C/S 架构,服务端 master 和客户端 minions ;Saltstack 和 Puppet 很像,可以说 Saltstatck 整合了 Puppet和Chef的功能,更加强大,更适合大规模批量管理服务器,并且它比Puppet 更容易配置。
三大功能: 远程命令执行,配置管理(服务,文件,cron,用户,组),云管理。
支持系统:大多数都支持,windows 上不支持安装 master。

4、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发送指令了。

5、Master与Minion的连接

SaltStack的master启动后默认监听4505和4506两个端口。
4505(publish_port)为saltstack的消息发布系统,4506(ret_port)为saltstack客户端与服务端通信的端口。如果使用lsof查看4505端口,会发现所有的minion在4505端口持续保持在ESTABLISHED状态。

二、SaltStack安装与配置

实验环境:

master:

server1:172.25.51.1

minion:

server2:172.25.51.2
server3:172.25.51.3

实验准备:配置yum源

1.源端下载rhel6安装包到物理机/var/www/html下:
这里写图片描述
2.修改yum源配置文件

[root@server1 ~]# vim /etc/yum.repos.d/rhel-source.repo 

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.51.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[salt]
name=saltstack
baseurl=http://172.25.51.250/rhel6
gpgcheck=0

3.查看yum源与安装包
这里写图片描述
这里写图片描述

具体配置如下:

一、下载并配置salt
[root@server1 ~]# yum install salt-master -y
[root@server1 ~]# cd /etc/salt/
[root@server1 salt]# vim master  ##注意格式,顶格写,冒号与ip之间空一格
  15 interface: 172.25.51.1
[root@server1 salt]# /etc/init.d/salt-master start

[root@server2 ~]# yum install salt-minion -y
[root@server2 ~]# cd /etc/salt/
[root@server2 salt]# vim minion
 17 master: 172.25.51.1
[root@server2 salt]# /etc/init.d/salt-minion start

[root@server3 ~]# yum install salt-minion -y
[root@server3 ~]# cd /etc/salt/
[root@server3 salt]# vim minion
 17 master: 172.25.51.1
[root@server3 salt]# /etc/init.d/salt-minion start

示图:启动服务,4505、4506端口开启
这里写图片描述


注意:

minion端开启服务后,会生成minion_id文件,修改 IP 或 hostname 时,必须删除该文件,重启服务后才可生效.
这里写图片描述


查看salt-key,并交换master与minion 的公钥

[root@server1 salt]# salt-key -L
[root@server1 salt]# salt-key -A

这里写图片描述
这里写图片描述
这里写图片描述

二、查看相关信息
1.下载并查看master和minion端的tree
[root@server2 salt]# yum install tree -y

这里写图片描述
这里写图片描述

2.查看4505、4506端口运行情况:
[root@server1 salt]# yum install lsof -y

这里写图片描述
这里写图片描述

3.检测salt服务:

这里写图片描述

4.查看python端口进程
[root@server1 salt]# yum install -y python-setproctitle.x86_64
[root@server1 salt]# /etc/init.d/salt-master restart
[root@server1 salt]# ps ax

这里写图片描述

猜你喜欢

转载自blog.csdn.net/hannah_zh/article/details/81092124