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 包裝庫