使用 VMware Tools 啟用 Salt 部屬節點
Salt Project 是一個 Python 式的開放原始碼軟體,用於事件驅動的 IT 自動化、遠端工作執行以及組態管理。
- 僅支援 64 位元作業系統。
- 支援 Windows、Windows 8 和更新版本。不支援 Windows 2008R2。
- 安裝 VMware Tools 時必須安裝 Salt 部屬節點功能。依預設,會啟用此功能。
- 對 Linux 中已安裝的套件 (如 curl 和 wget) 存在相依性
如需有關 Salt 的詳細資訊,請參閱《Salt 使用者指南》。
Salt 要求在客體中部署 Salt 部屬節點。Salt 特定的客體變數會依據每個虛擬機器設定於主機端上,以便後續供客體內的 VMware Tools 讀取。之後,VMware Tools 會下載 Salt 服務包,並在客體內啟動 Salt 部屬節點執行個體。
- 使用客體變數的每個虛擬機器的主機端組態主機管理員使用 VIM API 或 vSphere/VC UI 管理特定虛擬機器的主機端上的所有客體變數設定。
- Windows:依預設會安裝 VMware Tools Salt 部屬節點功能,並且可在自訂安裝中修改。若要使 VMware Tools 在特定虛擬機器上建立 Salt 部屬節點執行個體並將 Salt 部屬節點與 Salt 主節點相連接,主機管理員必須為該虛擬機器進行設定並設定客體變數。在 vSphere 主機 UI 中,選取特定虛擬機器,按一下滑鼠右鍵並編輯設定。在 [虛擬機器選項] 索引標籤中,選取,然後將
- guestinfo./vmware.components.salt_minion.desiredstate設定為 present
- guestinfo./vmware.components.salt_minion.args設定為<VMware Tools Salt 部屬節點設定指令碼的自訂引數>
例如:guestinfo./vmware.components.salt_minion.desiredstate→ presentguestinfo./vmware.components.salt_minion.args→ master=1.2.3.4 - Linux:主機管理員必須安裝 open-vm-tools 和 open-vm-tools-salt-minion,然後按如下方式設定特定虛擬機器的客體變數:
- guestinfo./vmware.components.salt_minion.desiredstate設定為 present
- guestinfo./vmware.components.salt_minion.args設定為<VMware Tools Salt 部屬節點設定指令碼的自訂引數>
例如:guestinfo./vmware.components.salt_minion.desiredstate→ presentguestinfo./vmware.components.salt_minion.args→ master=1.2.3.4 id=12345
- 移除 Salt 部屬節點在 Windows 或 Linux 中,如果主機管理員將客體變數guestinfo./vmware.components.salt_minion.desiredstate設定為 absent,則 VMware Tools 會移除客體虛擬機器中的 Salt 部屬節點執行個體。例如:guestinfo./vmware.components.salt_minion.desiredstate→ absent
- 檢查客體內 Salt 部屬節點的最新狀態若要在 vSphere UI 中檢查客體內 Salt 部屬節點的最新狀態,請使用以下客體變數:guestinfo.vmware.components.salt_minion.laststatus
- 使用 tools.conf 的客體端組態tools.conf檔案包含.ini格式的 VMware Tools 組態。此工具會搜尋salt_minion區段,並使用該區段下定義的組態。此檔案儲存在以下位置:Windows -C:\ProgramData\VMware\VMware Tools\tools.confLinux -/etc/vmware-tools/tools.conf以下是tools.conf中定義的salt_minion區段的範例:[salt_minion] master=1.2.3.4 conf_file=/etc/salt/minion id=dev_miniontools.conf中僅提供部屬節點組態選項。無法從tools.conf中取得所需的指令碼動作。
- 在客體變數中設定監控狀態變更的時間間隔:VMware Tools 會定期輪詢客體變數以了解狀態變更。預設輪詢間隔為 180 秒,可以在tools.conf設定中設定。[componentmgr]poll-interval=180(預設值:180 秒)
- 啟用和停用元件 (salt_minion):
- 客體管理員可以設定tools.conf設定,來啟用 salt_minion。[componentmgr]included=salt_minion
- 客體管理員可以設定tools.conf設定,來啟用所有元件。[componentmgr]Included=all(預設組態)
- 客體管理員可以設定tools.conf設定,來停用所有元件。[componentmgr]included=none
- 使用安裝指令碼安裝 Salt 部屬節點
- Linux 環境在 Linux 系統上,安裝指令碼svtminion.sh是一個 Bash 指令碼,並具有以下必要條件:
- - systemctl
- - curl
- - sha512sum
- - vmtoolsd
- - grep
- - awk
- - sed
- - cut
- - wget
svtminion.sh --help顯示命令行選項。用法:./svtminion.sh [-c|--clear] [-d|--depend] [-h|--help] [-i|--install] [-j|--source] [-l|--loglevel] [-m|--minionversion] [-r|--remove] [-s|--status] [-v|--version]例如:URL 位置其中,./svtminion.sh [-j|--source]指定要從中安裝 Salt 部屬節點的位置。預設位置為repo.saltproject.io。http://my_web_server.com/my_salt_onedirhttps://my_web_server.com/my_salt_onedirfile:////my_path/my_salt_onedir//my_path/my_salt_onedir如果指定了 Salt 部屬節點的特定版本 ([-m|--minionversion]),則會將其附加到來源。預設使用最新版本。以下是安裝tools.conf中定義的salt_minion的範例:[salt_minion] master=1.2.3.4 conf_file=/etc/salt/minion id=dev_minion source=https://my_web_server.com/my_salt_onedir如果從 Salt 的標準存放庫位置的專用複本進行安裝,請使用 - Windows 環境在 Windows 系統上,安裝指令碼svtminion.ps1是一個 PowerShell 指令碼。Windows 的唯一必要條件是 vmtoolsd.exe 二進位檔,用於查詢客體變數資料。若要取得此指令碼的説明,請執行svtminion.ps1 -h或Get-Help svtminion.ps1命令。用於在 Windows 客體上管理 Salt 部屬節點的 VMware Tools 指令碼為:.\svtminion.ps1 [-Install] [-MinionVersion <String>] [-Source <String>] [[-ConfigOptions] <String[]>] [-LogLevel <String>] [-Help] [-Version] [<CommonParameters>]其中,-Source <String>是包含安裝程式的存放庫的 URL 或路徑。這將包含類似於在預設位置 https://repo.saltproject.io/salt/vmware-tools-onedir/ 中找到的目錄結構。可以處理最常見的通訊協定,如 http、https、ftp、unc、local例如:PS>svtminion.ps1 -Install PS>svtminion.ps1 -Install -MinionVersion 3004-1 master=192.168.10.10 id=dev_box PS>svtminion.ps1 -Install -Source https://my.domain.com/vmtools/salt若要查看範例,請輸入get-help .\svtminion.ps1 -examples如需詳細資訊,請輸入get-help .\svtminion.ps1 -detailed如需技術相關資訊,請輸入get-help .\svtminion.ps1 -full
- 擷取記錄資訊客體管理員可以從以下路徑擷取與 Salt 部屬節點相關的記錄資訊:Windows記錄檔位置用於檢查 Salt 部屬節點狀態的記錄檔C:\Windows\Temp\vmware-svtminion-status-{Timestamp}.log在客體內安裝 Salt 部屬節點執行個體的記錄檔C:\Windows\Temp\vmware-svtminion-install-{TimeStamp}.log在客體內移除 Salt 部屬節點執行個體的記錄檔C:\Windows\Temp\vmware-svtminion-remove-{TimeStamp}.log用於在客體內安裝或移除 Salt 部屬節點執行個體後檢查執行階段資訊的記錄檔C:\salt\var\log\minion log filesLinux記錄檔位置用於檢查 Salt 部屬節點狀態的記錄檔/var/log/vmware-svtminion.sh-status-{Timestamp}.log在客體內安裝 Salt 部屬節點執行個體的記錄檔/var/log/vmware-svtminion.sh-install-{TimeStamp}.log在客體內移除 Salt 部屬節點執行個體的記錄檔/var/log/vmware-svtminion.sh-remove-{TimeStamp}.log用於在客體內安裝或移除 Salt 部屬節點執行個體後檢查執行階段資訊的記錄檔/var/log/salt/minion