ArgoCD通过HTTPS添加GitLab仓库时提示连接被拒绝如何解决?
Unable to connect HTTPS repository: all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial tcp 10.100.20.235:8081: connect: connection refused"
故障排查与处理步骤
- 第一步:核对GitLab服务地址与端口配置
首先确认你的GitLab HTTPS服务确实监听在10.100.20.235:8081,GitLab默认HTTPS端口为443,需确认你填写的仓库地址端口是否与实际部署一致,避免误把HTTP端口配置为HTTPS端口使用。 - 第二步:从ArgoCD repo-server组件侧测试连通性
该连接请求是由ArgoCD的repo-server组件发起,需进入对应Pod验证网络连通性:- 先获取repo-server Pod名称:
kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-repo-server - 测试端口连通性:
kubectl exec -n argocd <替换为实际repo-server Pod名> -- nc -zv 10.100.20.235 8081 - 测试HTTPS服务可达性:
kubectl exec -n argocd <替换为实际repo-server Pod名> -- curl -v https://10.100.20.235:8081
如果上述测试返回连接拒绝,可直接判定为网络层面不通,优先排查下方向网络策略。
- 先获取repo-server Pod名称:
- 第三步:排查GitLab侧服务状态与访问限制
- 登录GitLab所在服务器,执行
ss -tulpn | grep 8081确认8081端口有进程监听,且监听地址为0.0.0.0或10.100.20.235而非仅127.0.0.1 - 确认GitLab服务器的防火墙、安全组规则是否放行了8081端口的入站请求,是否配置了IP白名单拦截了ArgoCD所在集群的出口IP
- 登录GitLab所在服务器,执行
- 第四步:排查集群侧网络限制
- 检查ArgoCD所在命名空间是否配置了NetworkPolicy规则,禁止了对外8081端口的访问请求
- 如果集群部署了Istio等服务网格组件,确认出口流量策略是否允许访问GitLab地址
- 检查集群节点的iptables、出口防火墙规则,是否拦截了到
10.100.20.235:8081的流量
- 第五步:核对ArgoCD仓库配置参数
确认你添加仓库时选择的协议与实际GitLab服务一致,如果GitLab 8081端口实际运行的是HTTP服务,选择HTTPS协议也会触发连接异常;如果是自签证书的HTTPS服务,需在ArgoCD中配置对应根证书信任。
内容的提问来源于stack exchange,提问作者amitabh jain
相关产品推荐
相关产品推荐

