SaltStack 架構



SaltStack 的架構設計可以與任意數量的伺服器一起工作,從本地網路系統到跨不同資料中心的其它部署。該架構是一個簡單的伺服器/客戶端模型,其所需的功能內置於一組守護程序中。

請檢視下圖。它顯示了 SaltStack 架構的不同元件。

Salt disk.usage
  • SaltMaster − SaltMaster 是主守護程序。SaltMaster 用於向 Salt 從屬傳送命令和配置。單個主伺服器可以管理多個從屬伺服器。

  • SaltMinions − SaltMinion 是從屬守護程序。Salt minion 從 SaltMaster 接收命令和配置。

  • 執行 − 從命令行針對一個或多個 minion 執行模組和臨時命令。它執行即時監控。

  • 公式 (Formulas) − 公式是預先編寫的 Salt 狀態。它們與 Salt 狀態本身一樣開放,可用於安裝包、配置和啟動服務、設定使用者或許可權以及許多其他常見任務。

  • Grains − Grains 是一個介面,提供特定於 minion 的資訊。透過 grains 介面可用的資訊是靜態的。Salt minion 啟動時載入 Grains。這意味著 grains 中的資訊是不變的。因此,grains 資訊可能是關於正在執行的核心或作業系統的。它不區分大小寫。

  • Pillar − Pillar 是一個介面,用於生成和儲存特定於某個 minion 的高度敏感資料,例如加密金鑰和密碼。它以鍵值對儲存資料,資料管理方式與 Salt 狀態樹類似。

  • 頂部檔案 (Top File) − 將 Salt 狀態和 pillar 資料與 Salt minion 匹配。

  • Runners − 它是一個位於 SaltMaster 內部的模組,執行諸如作業狀態、連線狀態、讀取外部 API 的資料、查詢已連線的 salt minion 等任務。

  • Returners − 將資料從 Salt minion 返回到另一個系統。

  • Reactor − 它負責在 SaltStack 環境中發生事件時觸發反應。

  • SaltCloud − Salt Cloud 提供了一個強大的介面來與雲主機互動。

  • SaltSSH − 在不使用 Salt minion 的系統上透過 SSH 執行 Salt 命令。

在下一章中,我們將詳細瞭解 SaltStack 的各種競爭對手及其功能。

廣告
© . All rights reserved.