SaltStack 01-SaltStack簡介
SaltStack簡介
- SaltStack是基於Python開發的一套C/S架構配置管理工具
- 底層使用ZeroMQ消息隊列pub/sub方式通訊
- 採用RSA Key方式確認身份,傳輸採用AES加密
- 採用動態的鏈接總線, 使其能夠用於編配, 遠程執行, 配置管理等等
- 在Master和Minion端都是以守護進程的模式運行
- 一直監聽配置文件中定義的ret_port-4506(接收minion請求)和publish_port-4505(發佈消息)端口
多種配置管理工具對比
- Puppet(rubby開發,如今不多使用)
- ansible(python開發,輕量級,沒有agent,大規模環境下使用ssh會很慢,串行傳輸)
- Saltstack(python開發,遠程執行、配置管理、事件驅動基礎設施、使用saltcloud能夠管理私有云和公有云)
三大功能
四種運行方式
- Local
- Minion/Master C/S
- Syndic - zabbix proxy
- Salt SSH
SaltStack軟件依賴
- Python版本大於2.6或小於3.0
- 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 包裝庫
SaltStack主要組件
- Target:管理對象,經過管理和正則匹配Minion的ID來作一些集合
- Grains:saltStack記錄Minion的一些靜態信息的組件
- Pillar:存儲和定義配置管理中須要的一些數據
- Module:管理對象操做
- States:saltStack中的配置語言
- Return:-SaltStack系統對執行Minion返回後的數據進行存儲或者返回給其餘程序
- Job:saltStack在執行任何一個操做都會在Master上產生一個jid號,內容就是這次操做的記錄
- Event:SaltStack裏面的對每一個事件的一個記錄
- Reactor:基於Event的每一個事件來作相應的操做(states)
- Mine:SaltStack收集Minion數據存儲到master的一個組件
- Peer:SaltStack中Minion向Master發佈任務的一個組件
歡迎關注本站公眾號,獲取更多信息