资讯动态

Argo CD CLI 报 rpc error: code = Unavailable desc = transport is closing 怎么排查?

发布时间:2026/9/13 7:14:24 来源:尧图企业网站定制
Argo CD CLI 报 rpc error: code Unavailable desc transport is closing 怎么排查【免费下载链接】argo-cdDeclarative Continuous Deployment for Kubernetes项目地址: https://gitcode.com/GitHub_Trending/ar/argo-cd用argocdCLI 连接 Argo CD 服务器时argocd login、argocd app list等任意命令如果终端返回rpc error: code Unavailable desc transport is closing说明 CLI 与服务端的 gRPC 连接没有建立成功。Argo CD 官方 FAQ 对这一报错给出的判断是你很可能处于一个不支持 HTTP/2 的代理之后。CLI 默认通过 gRPC over HTTP/2 与 API server 通信而代理只放行 HTTP/1.1 时连接在握手阶段就被断开于是出现Unavailable / transport is closing。原因代理不支持 HTTP/2argocdCLI 使用 gRPC over HTTP/2 与 API server 通信并支持通过--grpc-web标志回退到 HTTP/1.1。这一点在 CLI 入口代码 的标志说明中有原样记载Enables gRPC-web protocol. Useful if Argo CD server is behind proxy which does not support HTTP2.因此排查的第一步是确认你的流量路径如果 CLI 到 Argo CD 服务器之间经过了反向代理、Ingress 或公司网关且该中间层没有配置 HTTP/2这个报错就是预期内的解决方案是让 CLI 改用 gRPC-webHTTP/1.1。临时方案给单条命令加 --grpc-web按 FAQ 中的做法在原命令后追加--grpc-webargocd 原命令参数 --grpc-web例如argocd login host:port --grpc-web其中host:port是你要连接的 Argo CD 服务器地址按实际情况替换。长期方案用 ARGOCD_OPTS 环境变量如果每条命令都手动加标志不方便可以把标志放到ARGOCD_OPTS环境变量里CLI 会读取它。Argo CD 的 CI 集成文档在 GitLab CI 指南 和 GitHub Actions 指南 中正是这样配置的export ARGOCD_OPTS--grpc-web在 shell 会话中执行后即可对后续所有argocd命令生效在 CI 环境中则把它写入任务的ARGOCD_OPTS环境变量即可。可选部署在非根路径时改用 --grpc-web-root-path如果 Argo CD 还运行在反向代理的子路径下例如通过server.rootpath: /argo-cd配置在/argo-cd路径后配置方式见 Ingress 文档光加--grpc-web还不够登录时需要用--grpc-web-root-path指定 web rootargocd login host:port --grpc-web-root-path /argo-cd--grpc-web-root-path同时启用 gRPC-web 协议并设置根路径仅在 Argo CD 不在域名根路径下部署时使用。如何确认已解决文档没有为这个错误提供专门的验证命令判断标准就是再次执行原来报错的 CLI 命令如argocd login host:port --grpc-web或argocd app list --grpc-web不再出现rpc error: code Unavailable desc transport is closing、命令能正常连上服务器并返回结果。注意区分另一个相似报错FAQ 中相邻的一条是x509: certificate signed by unknown authority它的原因是 Argo CD 默认生成的证书未被 CLI 所在的操作系统信任属于 TLS 证书信任问题与transport is closing的根因不同--grpc-web对它无效。如果你看到的是这个报错应参照 TLS 文档 安装受信任的证书非生产环境可临时使用--insecure标志文档明确警告生产环境不要使用--insecure。如果加--grpc-web后仍然报transport is closing说明网络路径上还有其他问题例如代理对端口或路径的拦截需要回到代理侧检查其对 Argo CD API server 端口的转发配置。【免费下载链接】argo-cdDeclarative Continuous Deployment for Kubernetes项目地址: https://gitcode.com/GitHub_Trending/ar/argo-cd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价