SaltStack 是一個 Python 式的開放原始碼軟體,用於事件驅動的 IT 自動化、遠端工作執行以及組態管理。

如需有關 SaltStack 的詳細資訊,請參閱《Salt 使用者指南》

SaltStack 要求必須將 Salt 部屬節點部署在客體中。Salt 部屬節點特定的客體變數會設定於主機端上,以便後續供客體內的 VMware Tools 讀取。之後,VMware Tools 會下載 SaltStack 服務包,並在客體內啟動 Salt 部屬節點執行個體。

必要條件

  • 僅支援 64 位元作業系統。
  • 支援 Windows、Windows 8 和更新版本。
    備註: 不支援 Windows 2008R2。
  • 安裝 VMware Tools 時必須安裝 Salt 部屬節點功能。依預設,會啟用此功能。

程序

  • 主機端

    主機管理員會使用 vSphere/VC UI 或 VIM API,來管理主機端上的所有客體變數設定。

    1. 新增 Salt 部屬節點:在 Windows 上,依預設會安裝 VMware Tools Salt 部屬節點功能,並且可在自訂安裝中自訂。
      主機管理員必須:
      • 將客體變數 guestinfo./vmware.components.salt_minion.desiredstate 設定為 present
      • 將客體變數 guestinfo./vmware.components.salt_minion.args 設定為 <VMware Tools Salt 部屬節點設定指令碼的自訂引數>
      ,以供 VMware Tools 在虛擬機器上建立 Salt 部屬節點執行個體,並將 Salt 部屬節點與 Salt 主節點連接。

      例如:

      guestinfo./vmware.components.salt_minion.desiredstate → present

      guestinfo./vmware.components.salt_minion.args → master=10.108.199.231 id=minion_12345

    2. 移除 Salt 部屬節點:如果主機管理員將 guestinfo./vmware.components.salt_minion.desiredstate 客體變數設定為 absent,則 VMware Tools 會將 Salt 部屬節點執行個體從虛擬機器中移除。

      例如:

      guestinfo./vmware.components.salt_minion.desiredstate → absent

    3. 檢查客體上 Salt 部屬節點的最新狀態:若要在 vSphere UI 中檢查客體上 Salt 部屬節點的最新狀態,請使用客體變數

      guestinfo.vmware.components.salt_minion.laststatus

  • 客體端

    客體管理員可使用 tools.conf 組態檔來設定虛擬機器特定的客體端設定。

    1. 設定輪詢間隔以監控客體變數中的狀態變更:VMware Tools 會定期輪詢客體變數,以檢查狀態的變更。預設輪詢間隔為 180 秒,可以在 tools.conf 設定中設定。

      [componentmgr]

      #Poll-interval=180 (預設值:180 秒)

    2. 啟用和停用 Salt 部屬節點:
      • 客體管理員可以設定 tools.conf 設定,來啟用 Salt 部屬節點。

        [componentmgr]

        #included=salt_minion

      • 客體管理員可以設定 tools.conf 設定,來啟用所有元件。

        [componentmgr]

        #Included=all (預設組態)

      • 客體管理員可以設定 tools.conf 設定,來停用所有元件。

        [componentmgr]

        #included=none
    3. 擷取記錄資訊:客體管理員可以從以下路徑擷取 Salt 部屬節點的相關記錄資訊:
      • 用來檢查 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 files