1、SlatStack是什么 python
SaltStack是基于python开发的一套C/S架构配置管理工具,它的底层使用ZeroMQ消息队列 pub/sub 方式通讯,使用 SSL 证书签发的方式进行认证管理。apache
2、SaltStack服务架构服务器
SaltStack是一种基于C/S架构的服务模式,能够简单地理解为若是咱们想使用SaltStack就须要在现有地环境下引入与维护一套C/S架构。在SaltStack架构中服务器端叫做Master,客户端叫做Minion,在咱们理解的传统C/S架构中,客户端发送请求给服务端,服务端接收到请求而且处理完成后再返回给客户端。在SaltStack架构中不只有传统的C/S架构服务模式,并且有消息队列中的发布与订阅(pub/sub)服务模式。使得SaltStack应用场景更加丰富。目前在实际环境中通常使用SlatStack的C/S架构进行配置管理。
架构
在Master 和 Minion 端都是以守护进程的模式运行,一致监听配置文件里定义的ret_port(接受minion请求)和publish_port(发布消息)的端口。当Minion运行时会自动链接到配置文件里面定义的Master地址ret_port端口进行链接认证。默认客户端请求id是socket.getfqdn()取到的值,也能够在Minion启动以前修改Minion的id值。关于整个启动通讯过程,可使用以下命令:"salt-master -l debug"less
SaltStack除了传统的C/S架构外,还有Masterless架构,若是采用Masterless架构,咱们就不须要单独安装一台SlatStack Master机器,只须要在每台机器上安装Minion,而后采用本机只负责对本机的配置管理工做机制服务模式。socket
3、SlatStack软件依赖工具
SlatStack对Python版本和Python 模块有必定的要求。debug
Python版本大于2.6或版本小于3.0code
msgpack-python:SaltStack消息交换库队列
YAML:SaltStack配置解析定义语法
Jinja2:SaltStack states配置模版
MarkupSafe:Python unicode转换库
apache-libcloud:SaltStack 对云架构编排库
Requests:HTTP Python库
ZeroMQ:SaltStack消息系统
pyzmq:ZeroMQ Python库
PyCrypto:Python 密码库
M2Crypto:openssl Python 包装库