您的位置:首页 > 其它

Saltstack入门

2015-11-25 22:50 316 查看
Saltstack简介

Saltstack是基于Python开发 一套C/S架构配置管理工具,它的底层适用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理。
号称世界上最快 消息队列ZeroMQ使得Saltstack能快速在成千上万台机器上进行各种操作,而且采用RSA Key方式确认身份,传输采用AES加密,这使得它的安全性得到了保障。
虽然这里说Saltstack是一种配置管理工具,在工作中我们可能会使用它去做一些配置管理工作,但是Saltstack功能不止这些。在Saltstack官方的介绍中,Saltstack不只是一个配置管理工具,还是一个做云计算与数据中心架构编排的利器。目前Salt-cloud项目也已经合并到Saltstack主项目里面,Saltstack已经支持Docker相关模块。在友好的支持各大云平台之后,配合Saltstack的Mine实时发现功能就可以各种云平台业务自动扩展。
Saltstack服务架构↓
由于Saltstack是一种基于C/S架构的服务模式,可以简单地理解为如果我们想使用Saltstack就需要在现有的环境下引入与维护一套C/S架构。在Saltstack架构中服务器端佳作Master,客户端叫做Minion,在我们理解的传统C/S架构中,客户端发送请求给服务器端,服务器端接收到请求并处理完成后再返回给客户端。在Saltstack架构中不仅有传统的C/S架构服务模式,而且有消息队列中的发布与订阅(pub/sub)服务模式。这使得Saltstack应用场景更加丰富。目前在实际环境中使用Saltstack的C/S架构进行配置管理。
在Master和Minion端都是以守护进程的模式运行,一直监听配置文件里面定义的ret_port(接受Minion请求)和publish_port(发布消息)的端口。当Minion运行时会自动连接到配置文件里面定义 Master地址ret_port端口进行连接认证。默认客户端请求id是socket.getfqdn()取到的值,也可以在Minion启动之前修改Minion的id值。关于整个启动通信过程,可以使用debug查看详细记录。
C/S架构如下:
Master端:
Saltstack@Master:salt-master -l debug
Saltstack@Master:ss -a|egrep '4505|4506'
Minion端:
Saltstack@Minion:salt-minion -l debug
Saltstack除了传统的C/S架构外,其实还有Masterless架构,如果采用Masterless架构,我们就不需要单独安装一台Saltstack Master机器,只需要在每台机器上安装Minion,然后采用本机只负责对本机的配置管理工作机制服务模式。

源自:Saltstack技术入门与实践

本文出自 “万越天的架构师之路” 博客,请务必保留此出处http://wanyuetian.blog.51cto.com/3984643/1716899
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: