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 管理主机端的所有客户机变量设置。
- 添加 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
- 移除 Salt 工作节点:如果主机管理员将 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 配置文件配置特定于虚拟机的客户机端设置。
- 配置轮询间隔以监控客户机变量中的状态更改:VMware Tools 会定期轮询客户机变量以检查状态更改。默认轮询间隔为 180 秒,可以在 tools.conf 设置中进行配置。
[componentmgr]
#poll-interval=180(默认值:180 秒)
- 启用和禁用 Salt 工作节点:
- 客户机管理员可以通过配置 tools.conf 设置来启用 Salt 工作节点。
[componentmgr]
#included=salt_minion
- 客户机管理员可以通过配置 tools.conf 设置来启用所有组件。
[componentmgr]
#included=all(默认配置)
- 客户机管理员可以通过配置 tools.conf 设置来禁用所有组件。
[componentmgr]
#included=none
- 获取日志信息:客户机管理员可以从以下路径中获取与 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