通过主节点插件工作区,可以更新 Salt 主节点上的主节点插件版本,以与 SaltStack Config 的版本相匹配。云部署和内部部署都支持此功能。您还可以下载最新版本的主节点插件。

主节点插件工作区提供有关插件状态、插件版本、Salt 版本、上次更新 JID 等的信息。此外,还可以通过主节点插件工作区获得最新版本的 sseapiclient。有关详细信息,请参见使用 API

通过主节点插件,Salt 主节点能够与 SaltStack Config 进行通信。该插件还包括各种设置,可以进行调整以提高性能。有关详细信息,请参见主节点插件配置设置参考

RaaS 保存当前和以前版本的主节点插件。Salt 主节点连接到 RaaS 时,Salt 主节点会检查 RaaS 是否有它没有的插件版本。如果 Salt 主节点没有这些插件版本,则 Salt 主节点会从 RaaS 检索插件,并在 /var/cache/salt/master/plugin_cache/ 中本地缓存这些插件。

有可用的 SaltStack Config 新版本时,插件不会自动更新。您必须自行启动更新过程。最佳做法是,您应在插件有可用的最新版本时将其更新到最新版本。

主节点插件更新过程依赖于 Salt 的 service 模块和 service.running 状态在插件更新后重新启动 Salt 主节点。service 模块依赖于发行版的初始化管理器,例如 systemd

注:

如果在容器中或不使用初始化管理器的发行版上运行 Salt 主节点,则必须在更新后手动重新启动 Salt 主节点。如果不重新启动 Salt 主节点,主节点插件工作区将报告 Salt 主节点运行的插件版本已过时。

开始前

在使用主节点插件工作区之前,必须完成以下必备条件:

  • 在 Salt 主节点上安装主节点插件。有关详细信息,请参见安装并配置主节点插件
  • 确认已在 SaltStack Config 用户界面中接受 Salt 主节点的密钥。
  • 确认以 root 用户身份运行 Salt 主节点。如果 Salt 主节点以非 root 用户身份运行,更新将失败。
  • 确保 Salt 主节点运行的是 Salt 版本 3002.1 或更高版本。如果 Salt 主节点运行的是版本 3002 或更低版本,则必须先更新 Salt 版本,然后才能使用主节点插件工作区。有关详细信息,请参见升级 Salt
  • 确保 Salt 主节点运行的是版本 8.11.2 或更高版本的主节点插件。如果 Salt 主节点运行的是 8.11.1 或更低版本,则必须先手动升级插件,然后才能使用主节点插件工作区。有关详细信息,请参见使用 CLI 升级主节点插件

更新主节点插件

可以更新一个或多个 Salt 主节点上的主节点插件版本。

注:

如果插件状态为需要更新,则只能通过主节点插件工作区更新主节点插件版本。如果插件状态指示 Salt 主节点需要手动干预,则必须登录到 Salt 主节点才能解决此问题。有关详细信息,请参见对插件更新进行故障排除

要更新主节点插件,请执行以下操作:

  1. SaltStack Config 中,选择管理 > 主节点插件
  2. 选择具有需要更新插件状态的 Salt 主节点。
  3. 单击更新
  4. 查看对话框中的信息,以确保选择了正确的 Salt 主节点。
  5. 单击更新
  6. 要监控更新进度,请单击上次更新 JID
  7. 主节点插件工作区中,确认插件状态已更改为最新

    如果更新失败,请参见对插件更新进行故障排除

对插件更新进行故障排除

如果插件更新失败,则必须登录到 Salt 主节点,手动解决此问题。对于失败的插件更新,不会自动恢复。

插件更新可能会失败,原因如下:
  • 基础架构问题
  • 虚拟机的配置问题
  • Salt 主节点的连接问题

尝试执行以下步骤以确定更新失败的原因:

  1. 检查上次更新 JID 并查看原始数据是否有错误。
  2. 运行 systemctl status salt-master,检查 salt-master 服务的状态。
  3. 运行 salt-master -l debug,在调试模式下启动 Salt 主节点。
  4. 主节点插件工作区下载主节点插件,然后手动安装该插件。