简介
盐是一个基础平台管理工具,基于python语言开发.SaltStack采用C/S模式,服务器端就是盐的主人,客户端就是奴才,奴才与主之间通过ZeroMQ消息队列通信部分监听4505年和4506年端口,4505为大师和奴才认证通信端口,4506为大师用来发送命令或者接收奴才的命令执行返回信息。
saltstack介绍:
<强> 1,轻量级管理工具,批量执行命令;强>
<强> 2,常用模板:强>
包裹:包,有增删更新。
文件:用于管理文件,包括同步文件,设置文件权限和所属用户组,删除文件等操作,
cmd:在宠物上执行命令或者脚本;
用户:管理系统账户操作,
服务:管理系统服务操作,
cron:管理crontab任务
<强> 3,saltstack数据系统:强>
谷物(静态数据);
支柱(动态数据);
<强> 4,三大功能:强>
(1)远程执行
(2)配置管理
(3)云管理
重要组件:
<强>(1)谷物:强>
颗粒是在奴才(客户端)启动时收集到的一些信息,比如操作系统类型,网卡ip等静态信息。
谷物的信息并不是动态的,并不会时时变更,它只是在奴才启动时收集到的。
<强>(2)支柱:强>
支柱和谷物不一样,是在掌握上定义的,并且是针对奴才定义的一些信息。像一些比较重要的数据(密码)可以存在柱子里,还可以定义变量等。
<强>(3)状态:强>
是saltstack的最核心的功能,通过预先指定好的sls文件对被控主机进行管理(包括:包,网络配置,系统服务,系统用户等)
工作原理:
<强> SaltStack客户端(宠物)在启动时,会自动生成一套密钥,包含私钥和公之钥。后将公钥发送给服务器端,服务器端验证并接受公钥,以此来建立可靠且加密的通信连接。同时通过消息队列ZeroMQ在客户端与服务端之间建立消息发布连接。强>
1,奴才是SaltStack需要管理的客户端安装组件,会主动去连接主端,并从主端得到资源状态信息,同步资源管理信息。
2,主作为控制中心运行在主机服务器上,负责盐命令运行和资源状态的管理,掌握上执行某条指令通过队列下发到各个奴才去执行,并返回结果。
3, ZeroMQ是一款开源的消息队列软件,用于在奴才端与主端建立系统通信桥梁。
与ansible区别:
1,管理配置讲究的是更快更稳
ansible基于SSH协议传输数据;Saltstack使用消息队列zeroMQ传输数据,速度更快,是SSH的40倍。
2, ansible安装部署过程特别简单,Saltstack要部署奴才端较为不便。