SaltStack 01-SaltStack簡介

官方網站:http://repo.saltstack.com/

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發佈任務的一個組件
相關文章
相關標籤/搜索