可以使用這些 SaltStack Config 系統需求確定您的系統可提供的支援。

Salt 支援的作業系統

SaltStack ConfigSalt 上執行,Salt 是一個開放原始碼自動化和組態管理引擎。若要開始將 SaltStack Config 用於組態管理,您還需要在打算使用 SaltStack Config 進行管理的任何節點上安裝並執行 Salt 部屬節點服務。

Salt 本身設計為與作業系統無關,可管理大多數標準作業系統的節點。如需 Salt 支援的作業系統清單,請參閱〈Salt 平台支援〉

SaltStack Config 支援的作業系統

SaltStack Config 的架構經過精心設計,適合在以下任一作業系統上運作:

  • RHEL 7.4–7.9
  • RHEL 8
  • RHEL 9
  • CentOS 7
重要:

如果您的 RHEL 7 版本低於 7.4,則必須先將 OpenSSL 版本更新為 1.0.2k,然後再執行安裝指令碼。如果無法透過 Yum 更新使用此版本,或您的伺服器不具有直接網際網路存取權,請從 RedHat 或慣用的公用鏡像中擷取下列套件:

  • openssl-1.0.2k-12.el7.x86_64.rpm
  • openssl-libs-1.0.2k-12.el7.x86_64.rpm

確定部屬節點架構

SaltStack Config 環境中,部屬節點通常是指生產環境中透過一或多個 Salt 主節點與 SaltStack Config 連線並由其管理的節點。

Salt 旨在與可能在部屬節點上執行的任何作業系統搭配使用。除了標準作業系統 (Linux、Windows、MacOS) 之外,Salt 還針對各種網路裝置特有的作業系統 (例如 Arista、Juniper、AIX 和 Solaris) 提供了專用部屬節點軟體 (通常稱為「原生部屬節點」)。

下表依作業系統列出了 Salt 部屬節點服務的最低記憶體需求:

作業系統 最低記憶體需求
AIX 部屬節點 512 MB RAM
MacOS 部屬節點 4 GB RAM
Linux 部屬節點 512 MB RAM
Windows 部屬節點 4 GB RAM
其他網路裝置,包括 Proxy 部屬節點 每個受控裝置 40 MB RAM

估計 Salt 主節點和部屬節點數目

雖然在安裝前難以測量系統的輸送量,但可以根據系統中將由 SaltStack Config 管理的部屬節點 (節點) 數目來估計您的需求。本指南的最後一部分提供了用於確定系統輸送量的其他測量。

隨著更多 Salt 部屬節點由 SaltStack Config 管理,可能需要增加系統架構以與之相符。

下表列出了根據系統中管理的 Salt 部屬節點 (節點) 數目,可能需要的 Salt 主節點建議數目:

部屬節點 Salt 主節點 (16 個 CPU/16 GB)
5,000 1
10,000 2
15,000 3
20,000 4
25,000 5
30,000 6
35,000 7
40,000 8
45,000 9
50,000 10
55,000 11
60,000 12
65,000 13
70,000 14
75,000 15
80,000 16
85,000 17
90,000 18
95,000 19
100,000 20

估計所需的 RaaS 節點數目

下表列出了根據系統中管理的 Salt 部屬節點 (節點) 數目,可能需要的 RaaS 節點建議數目:

部屬節點 RaaS 節點 (16 個 CPU/16 GB) RaaS 節點 (32 個 CPU/32 GB)
5,000 1
10,000 1
15,000 1
20,000 1
25,000 2
30,000 2
35,000 2
40,000 2
45,000 1 1
50,000 1 1
55,000 1 1
60,000 1 1
65,000 2
70,000 2
75,000 2
80,000 2
85,000 1 2
90,000 1 2
95,000 1 2
100,000 1 2

估計所需的 PostgreSQL 節點數目

接下來的兩個資料表列出了根據系統中管理的 Salt 部屬節點 (節點) 數目,可能需要的 PostgreSQL 資料庫節點建議數目:

部屬節點 PostgreSQL 節點 (8 個 CPU/8 GB) PostgreSQL 節點 (16 個 CPU/16 GB) PostgreSQL 節點 (24 個 CPU/24 GB) PostgreSQL 節點 (32 個 CPU/32 GB)
5,000 1
10,000 1
15,000 1
20,000 1
25,000 1
30,000 1
35,000 1
40,000 1
45,000 1
50,000 1
55,000 1
60,000 1
部屬節點 PostgreSQL 節點 (48 個 CPU/48 GB) PostgreSQL 節點 (56 個 CPU/56 GB) PostgreSQL 節點 (64 個 CPU/64 GB)
65,000 1
70,000 1
75,000 1
80,000 1
85,000 1
90,000 1
95,000 1
100,000 1

估計所需的 Redis 節點數目

接下來的兩個資料表列出了根據系統中管理的 Salt 部屬節點 (節點) 數目,可能需要的 Redis 資料庫節點建議數目:

部屬節點 Redis 節點 (4 個 CPU/4 GB) Redis 節點 (8 個 CPU/8 GB) Redis 節點 (12 個 CPU/12 GB)
5,000 1
10,000 1
15,000 1
20,000 1
25,000 1
30,000 1
35,000 1
40,000 1
45,000 1
50,000 1
55,000 1
60,000 1
部屬節點 Redis 節點 (16 個 CPU/16 GB) Redis 節點 (20 個 CPU/20 GB)
65,000 1
70,000 1
75,000 1
80,000 1
85,000 1
90,000 1
95,000 1
100,000 1

安裝後根據輸送量最佳化架構

完成 SaltStack Config 安裝後,可以使用系統監控度量來更好地確定系統的輸送量和架構需求。

確定要監控的內容時,請考慮以下因素:

  • 事件系統上的流量 - 事件系統 (有時亦稱為「事件匯流排」) 用於 Salt 主節點和 Salt 部屬節點的程序間通訊。如果事件匯流排非常忙碌,請考慮增加記憶體配置。
  • 每小時工作傳回資料 - SaltStack Config 使用「工作」一詞指代 SaltStack Config 執行的每個命令、工作和作業。每個工作會將其輸出傳送至 SaltStack Config 以供報告和資料收集之用。系統在指定小時內產生的工作傳回資料數會影響您的架構需求。
  • pillar 資料量 - pillar 資料是必須儲存在 Salt 主節點上的資料。Pillar 主要用於儲存密碼或其他高度敏感的資料,例如帳戶認證、密碼編譯金鑰或密碼。Salt 主節點上儲存的資料量 (稍後由部屬節點根據需要存取) 可能會影響記憶體和資料儲存需求。
  • 組態資料 - 對應檔案 - 這些檔案對於儲存不希望直接放在狀態檔案中的非敏感資料非常有用。與 Pillar 資料不同,這些對應檔案不會給 Salt 主節點帶來額外的資源壓力。
  • 自訂粒紋數量 - 粒紋在 Salt 中用於確定特定工作或命令的部屬節點目標。粒紋是指每個部屬節點的基本資料和特性。Salt 隨附許多預先建置的粒紋。例如,可以透過部屬節點的作業系統、網域名稱、IP 位址、核心、記憶體和許多其他系統內容來確定部屬節點目標。此外,還可以建立自訂 Grain 資料,以根據您在系統中特別針對的目標特性區分不同的部屬節點群組。建立的自訂粒紋數目會影響您的架構需求。
  • 指標和反應器數目 - 指標系統是一種監控工具,可以在 Salt 部屬節點上接聽各種系統程序。指標可以觸發反應器,這樣一來,便有助於實作變更或對問題進行疑難排解。例如,如果服務回應逾時,則反應器系統會重新啟動服務。與反應器結合使用時,指標可以建立對基礎結構和應用程式問題的自動預先寫入回應。反應器使用預先寫入修復狀態擴充 Salt,使其能夠自動回應。如果系統中具有定期啟用的指標和反應器,可能會增加您的系統架構需求。
  • 磁碟大小需求 - 可能需要根據受管理的部屬節點數目以及每年需要保留在儲存區中的資料數量來增加磁碟大小。例如,如果您有一個高輸送量系統,並且您的系統處於需要 7-8 年資料保留的高度管制的產業,則可能需要更大的磁碟大小和儲存區容量。
  • 業務關鍵營運 - 評估 SaltStack Config 在環境中的業務關鍵程度時,請詢問自己 SaltStack Config 中斷對您業務的影響有多嚴重。如果關閉一小時或更多,是否會造成嚴重影響?如果會,則可能需要在 SaltStack Config 系統架構中設計高可用性需求。

根據這些因素,請考慮以增量方式增加資源並監控對系統效能的影響。例如,透過 4 個 CPU 將記憶體配置增加 4 GB RAM。

下圖顯示了高可用性 SaltStack Config 架構設計範例:

如此圖所示,許多高可用性系統會連線至多個 Salt 主節點。高可用性系統通常也會在 PostgreSQL 資料庫和 Redis 資料庫中建置備援,以便一個資料庫可以容錯移轉至另一個資料庫。請記住,目前適用於 PostgreSQL 和 Redis 的高可用性解決方案僅支援手動容錯移轉。