SaltStack Config 包含四個或更多架構元件,其中包括 RaaS 伺服器、主節點外掛程式和兩個中央資料庫。

下圖顯示了基本 SaltStack Config 架構中與安裝相關的主要元件:

顯示 SaltStack Config 的不同元件的架構圖
備註: 作為 VMware 移除有問題術語計劃的一部分,Salt 主節點一詞將在 SaltStack Config 及相關產品和說明文件中取代為更貼切的詞。此術語更新可能需要幾個發行週期才能全面完成

Salt 主節點和主節點外掛程式

SaltStack Config 由 Salt 提供支援,Salt 是一個開放原始碼組態管理和自動化系統。

Salt 主節點是 SaltStack Config 與網路上其餘節點 (部屬節點) 之間的主要連線。從 SaltStack Config 發出命令 (例如工作) 時,該命令會進入 Salt 主節點以散佈到目標部屬節點。

SaltStack Config 可以視需要連線至系統中的一或多個 Salt 主節點。若要使 SaltStack Config 與 Salt 主節點進行通訊,必須在 Salt 主節點上安裝主節點外掛程式,並在 SaltStack Config 中接受其金鑰。主節點外掛程式使 Salt 主節點可以存取由 SaltStack Config 起始的工作或程序。Salt 主節點可以存取儲存在 PostgreSQL 資料庫中的外部檔案和 pillar 資料。

外掛程式會與 Salt 提供的現有延伸點整合。例如,使用 Salt 主節點端 Salt 外部工作快取收集工作傳回資料,而 RaaS 檔案伺服器使用 Salt 檔案伺服器外掛程式。
備註: 可以將多個 Salt 主節點連線至 SaltStack Config。每個連線至 SaltStack Config 的 Salt 主節點都必須安裝主節點外掛程式

RaaS

RaaS (表示傳回程式即服務) 是 SaltStack Config 中的中心元件。實際上,當某些使用者談及 SaltStack Config 本身時,他們通常談論的是 RaaS。

RaaS 提供 RPC 端點 (用於從 SaltStack Config 使用者介面接收管理命令) 以及 RPC 控制端點 (用於與連線的 Salt 主節點建立連接)。所有通訊均使用 RPC API 呼叫透過 WebSockets 或 HTTP(s) 進行傳送。

SaltStack Config 使用者介面

SaltStack Config 使用者介面是一個 Web 應用程式,可以為 RaaS 提供圖形使用者介面前端。雖然 SaltStack Config 以 API 優先,但使用者介面會直接與 API (RaaS) 介面建立連接,以簡化環境中所有系統的管理工作。透過不同的工作區,使用者能夠管理部屬節點、使用者、角色、工作等。

資料庫

PostgreSQL 資料庫

RaaS 使用 PostgreSQL 資料庫儲存部屬節點資料、工作傳回資料、事件資料、檔案和 pillar 資料、本機使用者帳戶,以及使用者介面的其他設定。

Redis 資料庫

RaaS 使用 Redis 資料庫將特定類型的資料儲存在暫時儲存區中,例如已快取的資料。此外,還使用暫存資料儲存區將已排入佇列的工作散佈給背景工作。

如需有關 Salt 運作方式的詳細資訊,請參閱〈Salt 系統架構〉