saltstack简介与部署

瘦欲@ 提交于 2019-11-27 10:56:46

互联网技术的发展,机房里面机器的数量随之增加,运维的难度和复杂度也在增加,需要投入的运维人员和成本也在增加,从而催生了一系列的自动化运维工具(Ansible、SaltStack、Puppet)的产生来减少运维的成本。
Ansible、SaltStack、Puppet都是目前比较受用户欢迎的自动化化运维工具,其中Ansible和SaltStack使用python编写,具有良好的可移植性。Puppet的使用脚本语法复杂,且可移植性比较差,目前的使用者慢慢变少。

SaltStack
saltStack由Python编写,为server-client模式的系统(在salstack中叫Master-Minion),自己本身 支持多master,而puppet则需要依赖于web服务器。saltstack除了可以通过在节点安装客户端进行管理还支持直接通过ssh进行管理。 运行模式为master端下发指令,客户端接收指令执行。
saltstack依赖于zeromq消息队列,采用yaml格式编写配置文件,比较简单。
支持api及自定义python模块,能轻松实现功能扩展。

Ansible
ansible安装与部署
类似与saltstack,基于python开发,关注的重点是精简和快速。不需要在节点安装代理软件,通过ssh执行所有功能。安装运行简单。
其模块可以用任何语言开发,采用yaml格式编写配置文件。
没有客户端,较难扩展。

Puppet
puppet由Ruby编写,为server-client模式的系统。运行时由客户端定时去获取自己的配置文件进而应用更改。也可以通过master的push命令即可触发变更。
将命令,文件,服务等抽象成资源,概念比较统一,时间悠久,文档较多。
就可用操作,模块,用户界面等等功能而言,是三者之中最全面的,安装部署难度一般,配置清单相对于其他工具较复杂。​ 在这里插入图片描述

部署saltstack
环境:

server1(salt-master) 172.25.60.1
server2 (salt-minion) 172.25.60.2
server3 (salt-minion) 172.25.60.3

1.下载slat-matser,salt-minion
真机配置salt的第三方yum仓库在这里插入图片描述在这里插入图片描述
server1,2,3上westos.repo文件写入salt
在这里插入图片描述
server1安装slat-matser
在这里插入图片描述
server2,3安装slat-minion
在这里插入图片描述
在这里插入图片描述server2,3修改minion配置文件

cd /etc/salt/
vim minion

 16 master: 172.25.60.1

systemctl start salt-minion.service 
cat minion_id 

在这里插入图片描述
在这里插入图片描述
server1查看salt-minion连接情况
[root@server1 yum.repos.d]# salt-key -L ##查看所有的key

[root@server1 yum.repos.d]# salt-key -A ##填加所有id证书请求
在这里插入图片描述
server1 可以与server2,3通信
在这里插入图片描述
yum install -y lsof
查看端口在这里插入图片描述
Master与Minion通信
SaltStack master启动后默认监听4505和4506两个端口。4505(publish_port) 为saltstack的消息发布系统,4506 (ret_port) 为saltstack客户端与服务端通信的端口。如果使用lsof查看4505端口,会发现所有的minion在4505端口持续保持在ESTABLISHED状态。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!