必須在基礎結構上安裝 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 專案存放庫和金鑰:
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 (如上一節所述) 後,下一步是在要使用 SaltStack Config Cloud 進行管理的任何節點上安裝部屬節點服務。
然後,需要將部屬節點設定為與 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
重新啟動部屬節點。 - 針對其餘的所有節點重複上述步驟。
接受主節點上的部屬節點金鑰
此時,您已安裝 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
中。