跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

如何快速回滚Hermes Agent的版本 部署回滚方案

必须执行快速回滚操作:一、Kubernetes滚动更新历史回滚;二、手动替换DaemonSet模板并强制重启;三、通过ConfigMap切换运行时配置实现逻辑降级;四、离线环境下的本地包替换回滚。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜如果您在升级Hermes Agent后遇到功能异常、连接失败或指标上报中断等问题,需立即恢复至先前稳定版本,则必须执行快速回滚操作。以下是几种可独立实施的部署回滚方案:

一、使用Kubernetes滚动更新历史回滚

当Hermes Agent以Deployment形式部署在Kubernetes集群中,且revisionHistoryLimit未被设为0时,系统会自动保留历史ReplicaSet,可通过kubectl直接回退至上一版本镜像。

1、执行命令查看可用的历史修订版本:

kubectl rollout history deployment/hermes-agent -n hermes-system

2、确认目标回滚版本对应的REVISION编号(例如:2)

3、执行回滚指令:

kubectl rollout undo deployment/hermes-agent --to-revision=2 -n hermes-system

4、等待Pod重建完成,并验证新Pod中容器镜像标签是否已还原为

v1.8.3

二、手动替换DaemonSet模板并强制重启

适用于Hermes Agent以DaemonSet方式部署且未启用自动滚动更新策略的场景。该方法绕过版本控制机制,直接覆盖当前生效的YAML定义并触发全节点Pod重建。

1、从备份目录中获取上一稳定版本的hermes-agent-daemonset.yaml文件

2、修改文件中image字段值为

registry.example.com/hermes/agent:v1.8.3

3、执行应用命令:

kubectl apply -f hermes-agent-daemonset.yaml -n hermes-system

4、检查各节点Pod状态:

kubectl get pods -n hermes-system -o wide | grep Running

三、通过ConfigMap切换运行时配置实现逻辑降级

当无法立即变更Agent二进制或容器镜像时,可利用Hermes Agent支持的动态配置加载能力,临时禁用高风险模块并恢复兼容性参数,达到等效于旧版本行为的效果。

Hermes Agent一位与您共同成长的Agent下载

1、定位当前生效的配置ConfigMap:

kubectl get configmap -n hermes-system | grep agent-config 2、编辑该ConfigMap,将enable_feature_x字段值由true改为false 3、将max_collection_interval_seconds数值调整为30(原v1.9.0默认为15)

4、保存后,所有Agent Pod将在60秒内自动重载配置,无需重启进程

四、离线环境下的本地包替换回滚

针对物理机或无容器运行时的部署模式,需直接替换主机上的Agent程序文件与服务配置,确保二进制、配置、权限三者一致。

1、停止当前服务:

sudo systemctl stop hermes-agent

2、备份当前bin目录:

sudo cp -r /opt/hermes/agent/bin /opt/hermes/agent/bin.bak-$(date +%s)

3、解压预存的v1.8.3离线包到/bin路径:

sudo tar -xzf hermes-agent-v1.8.3-amd64.tar.gz -C /opt/hermes/agent/

4、校验主程序哈希值是否匹配预期:

sha256sum /opt/hermes/agent/bin/hermes-agent | grep a7f3b9e2c1d4...

5、启动服务:

sudo systemctl start hermes-agent

相关文章