使用 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
          设置为
          <custom arguments to VMware Tools salt-minion setup script>
        例如:
        guestinfo./vmware.components.salt_minion.desiredstate
        → present
        guestinfo./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
          设置为
          <custom arguments to VMware Tools salt-minion setup script>
        例如:
        guestinfo./vmware.components.salt_minion.desiredstate
        → present
        guestinfo./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.conf
    Linux -
    /etc/vmware-tools/tools.conf
    以下是
    tools.conf
    中定义的
    salt_minion
    部分的示例:
    [salt_minion] master=1.2.3.4 conf_file=/etc/salt/minion id=dev_minion
    tools.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]
        其中,
        ./svtminion.sh [-j|--source]
        指定要从中安装 Salt 工作节点的位置。默认位置为
        repo.saltproject.io
        例如:URL 位置
        http://my_web_server.com/my_salt_onedir
        https://my_web_server.com/my_salt_onedir
        file:////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 files
    Linux
    日志文件
    位置
    用于检查 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