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