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

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

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

在 Salt 主節點上安裝 Salt

設定 SaltStack Config Cloud 之前,必須在 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 (如上一節所述) 後,下一步是在要使用 SaltStack Config Cloud 進行管理的任何節點上安裝部屬節點服務。

然後,需要將部屬節點設定為與 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 中。