saltstack簡單介紹
Saltstack是一種全新的基礎設施管理方式,是一個伺服器基礎架構集中化管理平台,幾分鐘内便可運作起來,速度夠快,伺服器之間秒級通訊,擴充性好,很容易批量管理上萬台伺服器,顯著降低人力與運維成本;它具備配置管理、遠端執行、監控等功能,一般可以了解為簡化版的puppet和加強版的func;通過部署SaltStack環境,可以在成千上萬台伺服器上做到批量執行指令,根據不同業務特 性進行配置集中化管理、分發檔案、采集伺服器資料、作業系統基礎及軟體包管理 等,SaltStack是運維人員提高工作效率、規範業務配置與操作的利器。SaltStack 基于Python語言實作,結合輕量級消息隊列(ZeroMQ)(SaltStack的通信模 式總共分為2種模式:ZeroMQ、REAT,鑒于REAT目前還不是太穩定,通常會 選擇ZeroMQ模式)與Python第三方子產品(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)建構。
Saltstack運作模式
- Local:本地,一台機器玩,不建議
- Master/Minion:通過server/agent的方式進行管理,效率很高(批量管理1000 台機器,25秒搞定)
- Salt SSH:通過SSH方式進行管理,效率相對來說比較低(批量管理1000台機 器,83秒搞定)
Saltstack三大功能
- 遠端執行(執行遠端指令)
- 配置管理(狀态管理)
- 雲管理
Saltstack特征
- 部署簡單、友善;
- 支援大部分UNIX/Linux及Windows環境;
- 主從集中化管理;
- 配置簡單、功能強大、擴充性強;
- 主要端(master)和被控端(minion)基于證書認證,安全可靠;
- 支援API及自定義子產品,可通過Python輕松擴充。
Master與Minion認證
- minion在第一次啟動時,會在/etc/salt/pki/minion/(該路徑在 /etc/salt/minion裡面設定)下自動生成minion.pem(private key)和minion.pub(public key),然後将 minion.pub發送給master。
- master在接收到minion的public key後,通過salt-key指令accept minion public key,這樣在master的/etc/salt/pki/master/minions下的将會存 放以minion id命名的 public key,然後master就能對minion發送指令。
Master與Minion的連接配接
-
SaltStack master啟動後預設監聽4505和4506兩個端口。
4505 (publish_port)為saltstack的消息釋出系統,
4506(ret_port)為 saltstack用戶端與服務端通信的端口。
如果使用lsof 檢視4505端口,會發現所有的minion在4505端口持續保持在ESTABLISHED狀态。
- minion與master之間的通信模式如下
喜歡的親可以關注點贊評論哦!以後每天都會更新的哦!本文為小編原創文章;
文章中用到的檔案、安裝包等可以加小編聯系方式獲得;
歡迎來交流小編聯系方式VX:CXKLittleBrother
進入運維交流群