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

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

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

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

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

從 Salt 3006 版本開始,Salt Project 使用 onedir 封裝系統。Onedir 代表「一個目錄」,因為它包含 Salt 所需的所有可執行檔,包括 Python 和其他 Salt 相依性。Onedir 支援 Salt 立即可用。
小心: Salt Project 強烈建議升級到 onedir 以繼續接收 Salt 版本更新。從 Salt 版本 3006 開始,僅 onedir 套件可用於升級。如需有關 Salt 版本和 onedir 的詳細資訊,請參閱 知識庫文章 89728
備註: Salt Crystal 安裝程式套件已不再使用,對於未來的安裝,建議使用 onedir 安裝程式套件。

必要:對於棕地/升級部署,從 Salt 3006 開始,Salt 主節點設定為以使用者「salt」而不是傳統的「root 使用者」身分執行。因此,這可能會導致 RaaS 相關工作流程 (例如,部屬節點部署和 RaaS 主節點外掛程式升級) 出現權限錯誤。

若要修復此問題,請修改 /etc/salt/master.d/raas.conf 檔案,將使用者變更為 root:user: root

在 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. 針對其餘的所有節點重複上述步驟。

替代方法:您也可以使用 VMware Tools 啟用 Salt 部屬節點。有關詳細資訊,請參閱使用 VMware Tools 啟用 Salt 部屬節點

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

此時,您已安裝 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 可能會對您的網路造成問題,除非您的網路是氣隙網路。因此,強烈建議預先使用 onedir 套件安裝 Salt。

請注意,在氣隙系統中的基礎結構上安裝 Salt 有利有弊。