必須在基礎結構上安裝 Salt,這包括安裝 Salt 主節點和 Salt 部屬節點服務。

Salt 及其相依性至少必須安裝在標準 SaltStack Config 安裝案例中涉及的節點上。

強烈建議在打算使用 SaltStack Config 進行管理的任何基礎結構上預先安裝 Salt。安裝 Salt 可簡化更新至 Salt 的未來版本的程序。開始安裝 SaltStack Config 之前,請考慮在您的基礎結構中安裝 Salt,然後對其監控一段時間,以確保其穩定且如預期執行。

在基礎結構中實作 Salt 時,請參閱這些指南以確保您的環境遵循最佳做法:

若要準備機器以執行 SaltStack Config 標準安裝,您需要安裝或升級 Salt 和 Python。Salt 和 Python 必須在安裝中涉及的所有節點上都存在並進行更新。如果節點上未安裝 Salt 和安裝程式的相依性,則安裝會失敗。

在 Salt 主節點上安裝 Salt

在標準安裝中,您需要在 Salt 主節點主機上同時安裝 Salt 主節點服務和部屬節點服務。

以下指示將在 Redhat/Centos 7 PY3 上安裝最新的 Salt 版本。如果您的機器執行的是其他作業系統或 Python 版本,則指令碼將不起作用。如需在其他作業系統或 Python 版本上安裝 Salt 的相關資訊,請參閱 Salt 安裝指南
備註: 依預設,Centos 7 會阻止連線到 Salt 主節點。必須建立允許連線的防火牆規則:
  • firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
  • firewall-cmd --reload
如需詳細資訊,請參閱 〈為 Salt 開啟防火牆〉
  1. 安裝 Salt 專案存放庫和金鑰:
    sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
  2. 清除快取:
    sudo yum clean expire-cache
  3. 在 Salt 主節點上安裝 Salt 主節點服務和部屬節點服務:
    sudo yum install salt-master
    sudo yum install salt-minion
  4. /etc/salt/minion.d 目錄中建立 master.conf 檔案。在此檔案中,將 Salt 主節點的 IP 位址設定為指向本身:
    master: localhost
  5. 啟動 Salt 主節點服務和部屬節點服務:
    sudo systemctl start salt-master
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    根據需要使用 service salt-minion restart 重新啟動部屬節點。

在 Salt 部屬節點上安裝 Salt

在 Salt 主節點上安裝 Salt (如上一節所述) 後,下一步是在將成為 RaaS、Redis 資料庫和 PostgreSQL 資料庫的三個節點上安裝部屬節點服務 (而非主節點服務)。

然後,需要將部屬節點設定為與 Salt 主節點進行通訊。如需有關安裝部屬節點服務的詳細資訊,請參閱 Salt 說明文件中的〈部屬節點組態〉

安裝部屬節點服務:

  1. 透過執行下列命令以僅安裝部屬節點服務:
    sudo yum install salt-minion
  2. 對所有提示回應 y,以接受所有變更。
  3. 透過在 /etc/salt/minion.d 目錄中建立 master.conf 檔案,將每個部屬節點設定為與 Salt 主節點進行通訊。在此檔案中,提供 Salt 主節點的 IP 位址。例如:
    master: 192.0.2.1
  4. 啟動部屬節點服務:
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    根據需要使用 service salt-minion restart 重新啟動部屬節點。

  5. 針對其餘的所有節點重複上述步驟。

接受主節點上的部屬節點金鑰

此時,您已安裝 Salt 主節點服務和部屬節點服務,並且為部屬節點提供了 Salt 主節點的 IP 位址。現在,為了讓 Salt 主節點向部屬節點傳送命令,下一步是接受 Salt 主節點上的部屬節點金鑰。

繼續之前:

  • 確保已啟用並啟動 Salt 主節點服務。
  • 確保在所有節點上已啟用並啟動部屬節點。

接受金鑰:

  1. 在 Salt 主節點的終端機中,列出 Salt 主節點上的所有金鑰:
    salt-key -L
  2. 確認 Unacceptedkeys 中是否列出了所有部屬節點識別碼。

    如果部屬節點識別碼顯示在 Acceptedkeys 中,則不需要執行進一步動作,因為這是最終目標。

  3. 使用下列命令接受每個部屬節點識別碼,將 <your-minion-id> 取代為您網路中的識別碼:
    salt-key -a <your-minion-ID>

    執行 salt-key-A 會接受所有金鑰。

  4. 對所有提示回應 y
  5. 再次執行 salt-key-L 命令,以確認所有部屬節點均顯示在 Acceptedkeys 中。

在氣隙系統中安裝 Salt

對於預先安裝 Salt 的一般建議,存在一種例外狀況,即在氣隙系統中安裝 SaltStack Config 時。請注意,在氣隙系統中的基礎結構上安裝 Salt 有利有弊。

SaltStack Config 安裝程式可以在執行時安裝 Salt 的最新穩定版本。但是,透過 SaltStack Config 安裝程式安裝的 Salt 版本稱為 Salt Crystal 套件。此套件主要用於氣隙系統,在此系統中,無法透過網際網路更新 Salt。由於此套件適用於氣隙系統,因此 Salt Crystal 套件中的 Salt 版本無法透過網際網路進行更新且必須手動更新。如需更新 Salt Crystal 套件的相關資訊,請參閱〈升級 Salt Crystal〉

無法定期透過網際網路更新 Salt 可能會對您的網路造成問題,除非您的網路是氣隙網路。因此,強烈建議預先安裝 Salt,而非使用 Salt Crystal 套件。