SaltStack Config 包含四個或更多架構元件,其中包括 RaaS 伺服器、主節點外掛程式和兩個中央資料庫。
下圖顯示了基本 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 資料。
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 系統架構〉。