天天看點

自動化運維工具-saltstack-saltstack介紹

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特征

  1. 部署簡單、友善;
  2. 支援大部分UNIX/Linux及Windows環境;
  3. 主從集中化管理;
  4. 配置簡單、功能強大、擴充性強;
  5. 主要端(master)和被控端(minion)基于證書認證,安全可靠;
  6. 支援API及自定義子產品,可通過Python輕松擴充。
    自動化運維工具-saltstack-saltstack介紹

Master與Minion認證

  1. minion在第一次啟動時,會在/etc/salt/pki/minion/(該路徑在 /etc/salt/minion裡面設定)下自動生成minion.pem(private key)和minion.pub(public key),然後将 minion.pub發送給master。
  2. master在接收到minion的public key後,通過salt-key指令accept minion public key,這樣在master的/etc/salt/pki/master/minions下的将會存 放以minion id命名的 public key,然後master就能對minion發送指令。

Master與Minion的連接配接

  1. SaltStack master啟動後預設監聽4505和4506兩個端口。

    4505 (publish_port)為saltstack的消息釋出系統,

    4506(ret_port)為 saltstack用戶端與服務端通信的端口。

    如果使用lsof 檢視4505端口,會發現所有的minion在4505端口持續保持在ESTABLISHED狀态。

    自動化運維工具-saltstack-saltstack介紹
  2. minion與master之間的通信模式如下
    自動化運維工具-saltstack-saltstack介紹

喜歡的親可以關注點贊評論哦!以後每天都會更新的哦!本文為小編原創文章;

文章中用到的檔案、安裝包等可以加小編聯系方式獲得;

歡迎來交流小編聯系方式VX:CXKLittleBrother

進入運維交流群