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 设置为 <custom arguments to VMware Tools Salt Minion setup script>
      ,以便 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