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 主節點通訊,此主節點必須已安裝主節點外掛程式,並且必須在 SaltStack Config 上接受其金鑰。主節點外掛程式可讓 Salt 主節點存取由 SaltStack Config 起始的工作或程序,以及儲存在 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 系統架構〉