You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform生成的gcloud命令安装Ops Agent失败:依赖冲突

问题:Ops Agent策略安装时自动引入旧代理导致冲突失败

通过Terraform生成了以下gcloud命令:

gcloud beta compute instances ops-agents policies create ops-agents-policy-centos-7 --agent-rules=enable-autoupgrade=true,package-state=installed,type=ops-agent,version=current-major --group-labels=jvr=jvr --os-types=short-name=centos,version=7 --project=my-project --quiet

在全新CentOS 7虚拟机上应用该策略后,Ops Agent始终安装失败。yum日志显示,安装google-cloud-ops-agent时会自动尝试安装stackdriver-agent、google-fluentd等旧版代理,进而触发冲突错误:

Error: google-cloud-ops-agent conflicts with google-fluentd-1.10.1-1.el7.x86_64
Error: google-cloud-ops-agent conflicts with stackdriver-agent-6.3.1-1.el7.x86_64

手动在客户端直接安装Ops Agent可以正常完成,疑问:为什么这条gcloud命令生成的安装指令会包含未请求的旧代理?

回答
  • 这是因为CentOS 7环境下的Ops Agent策略安装脚本存在逻辑问题,或者默认依赖配置有误,误将旧版的Stackdriver代理包作为依赖项引入,即使是全新系统也会触发yum自动拉取这些冲突包。
  • 可以尝试以下几种解决方式:
    1. 预配置yum排除规则:在CentOS 7虚拟机的/etc/yum.conf中添加排除规则,阻止yum自动安装冲突包:
      exclude=stackdriver-agent google-fluentd
      
      之后再应用Ops Agent策略即可正常安装。
    2. 自定义安装脚本替代默认策略:如果默认策略无法修改依赖逻辑,可以通过Terraform为虚拟机添加启动脚本,手动执行Ops Agent的安装命令,跳过默认的策略安装流程。手动安装命令示例:
      curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
      bash add-google-cloud-ops-agent-repo.sh --also-install
      
    3. 前置清理步骤:在策略中添加前置脚本,先卸载可能存在的旧代理包(即使全新系统也可以提前执行,避免依赖拉取):
      yum remove -y stackdriver-agent google-fluentd || true
      

内容的提问来源于stack exchange,提问作者jvanryn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 11:55:10