必須在基礎結構上安裝 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 主節點設定為以使用者「salt」而不是傳統的「root 使用者」身分執行。因此,這可能會導致 RaaS 相關工作流程 (例如,部屬節點部署和 RaaS 主節點外掛程式升級) 出現權限錯誤。
若要修復此問題,請修改 /etc/salt/master.d/raas.conf 檔案,將使用者變更為 root:user: root
。
在 Salt 主節點上安裝 Salt
在標準安裝中,您需要在 Salt 主節點主機上同時安裝 Salt 主節點服務和部屬節點服務。
firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
firewall-cmd --reload
- 安裝 Salt 專案存放庫和金鑰:
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
- 清除快取:
sudo yum clean expire-cache
- 在 Salt 主節點上安裝 Salt 主節點服務和部屬節點服務:
sudo yum install salt-master sudo yum install salt-minion
- 在
/etc/salt/minion.d
目錄中建立master.conf
檔案。在此檔案中,將 Salt 主節點的 IP 位址設定為指向本身:master: localhost
- 啟動 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 說明文件中的〈部屬節點組態〉。
安裝部屬節點服務:
- 透過執行下列命令以僅安裝部屬節點服務:
sudo yum install salt-minion
- 對所有提示回應
y
,以接受所有變更。 - 透過在
/etc/salt/minion.d
目錄中建立master.conf
檔案,將每個部屬節點設定為與 Salt 主節點進行通訊。在此檔案中,提供 Salt 主節點的 IP 位址。例如:master: 192.0.2.1
- 啟動部屬節點服務:
sudo systemctl enable salt-minion sudo systemctl start salt-minion
根據需要使用
service salt-minion restart
重新啟動部屬節點。 - 針對其餘的所有節點重複上述步驟。
替代方法:您也可以使用 VMware Tools 啟用 Salt 部屬節點。有關詳細資訊,請參閱使用 VMware Tools 啟用 Salt 部屬節點。
接受主節點上的部屬節點金鑰
此時,您已安裝 Salt 主節點服務和部屬節點服務,並且為部屬節點提供了 Salt 主節點的 IP 位址。現在,為了讓 Salt 主節點向部屬節點傳送命令,下一步是接受 Salt 主節點上的部屬節點金鑰。
繼續之前:
- 確保已啟用並啟動 Salt 主節點服務。
- 確保在所有節點上已啟用並啟動部屬節點。
接受金鑰:
- 在 Salt 主節點的終端機中,列出 Salt 主節點上的所有金鑰:
salt-key -L
- 確認
Unacceptedkeys
中是否列出了所有部屬節點識別碼。如果部屬節點識別碼顯示在
Acceptedkeys
中,則不需要執行進一步動作,因為這是最終目標。 - 使用下列命令接受每個部屬節點識別碼,將 <your-minion-id> 取代為您網路中的識別碼:
salt-key -a <your-minion-ID>
執行
salt-key -A
會接受所有金鑰。 - 對所有提示回應
y
。 - 再次執行
salt-key -L
命令,以確認所有部屬節點均顯示在Acceptedkeys
中。
在氣隙系統中安裝 Salt
無法定期透過網際網路更新 Salt 可能會對您的網路造成問題,除非您的網路是氣隙網路。因此,強烈建議預先使用 onedir 套件安裝 Salt。
請注意,在氣隙系統中的基礎結構上安裝 Salt 有利有弊。