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

导入现有EKS集群至Rancher遇"cluster not found"错误的排查

EKS集群导入Rancher时cattle-agent报"cluster not found"错误排查

错误日志

time="2025-02-25T10:19:04Z" level=info msg="Connecting to wss://<xchjsdvkjhvskfhjgvksdh>.elb.amazonaws.com/v3/connect/register with token starting with tb"
time="2025-02-25T10:19:04Z" level=info msg="Connecting to proxy" url="wss://<xchjsdvkjhvskfhjgvksdh>.elb.amazonaws.com/v3/connect/register"
time="2025-02-25T10:19:04Z" level=error msg="Failed to connect to proxy. Response status: 400 - 400 Bad Request. Response body: cluster not found" error="websocket: bad handshake"
time="2025-02-25T10:19:04Z" level=error msg="Remotedialer proxy error" error="websocket: bad handshake"

环境与操作详情

  • 在EKS集群部署Rancher,通过AWS网络负载均衡器(HTTP协议)暴露服务
  • 两个EKS集群均正常运行
  • 已按Rancher官方步骤,在目标EKS集群执行kubectl apply -f .yaml完成导入配置
  • 已执行排查:
    • 检查Rancher UI未显示该集群
    • 重启cattle-agent后错误依旧

1. 导致"cluster not found"错误的原因是什么?

核心原因是cattle-agent使用的注册令牌无效,或Rancher端未生成对应集群的注册记录,具体场景包括:

  • 导入YAML中的注册令牌已过期(Rancher生成的导入令牌默认存在有效期)
  • 导入YAML中的Rancher访问地址(wss://...elb.amazonaws.com)与Rancher实际对外暴露的地址不匹配,导致agent连接到错误端点,Rancher无法识别对应集群
  • 执行导入YAML前,Rancher端的集群注册请求已超时或被清理,agent携带的令牌在Rancher侧无对应集群记录

2. 是否需要为Rancher负载均衡器配置HTTPS/TLS才能正常连接?

是,必须配置HTTPS/TLS:

  • Rancher agent与server通过WebSocket(wss)通信,wss依赖TLS加密层,HTTP协议的负载均衡无法正确转发wss流量,会直接导致握手失败
  • Rancher默认要求server端使用HTTPS,未加密的HTTP连接会被拒绝,进而引发agent注册失败

3. Rancher成功注册现有EKS集群是否需要特定的RBAC或IAM权限?

需要,分两类权限:

  • 目标EKS集群的RBAC权限:导入YAML会自动创建ServiceAccount、ClusterRole及ClusterRoleBinding,这些资源是agent在目标集群执行资源管理、状态上报的基础,必须确保它们正确创建且未被篡改
  • IAM权限:
    • 部署Rancher的EKS集群,其server Pod需通过IRSA绑定AmazonEKSClusterPolicy等权限,确保Rancher能正常管理EKS资源
    • 目标EKS集群的节点IAM角色,需允许节点向Rancher NLB的443端口发起出站连接

4. 是否有特定的手动排查方法或强制Rancher识别集群的方式?

手动排查步骤:

  • 重新生成Rancher导入YAML,对比现有YAML中的CATTLE_SERVER地址和CATTLE_REGISTRATION_TOKEN是否一致,确认令牌未过期、地址正确
  • 用curl -v https://<NLB地址>/v3测试Rancher API连通性,验证TLS证书有效、NLB配置正常
  • 检查目标集群cattle-agent Pod的环境变量,确认CATTLE_SERVER和CATTLE_REGISTRATION_TOKEN加载正确
  • 查看Rancher server Pod日志,搜索对应令牌的注册请求,获取更详细的错误信息

强制识别的方式:

  • 删除目标集群中已部署的cattle-agent相关资源(包括Namespace、Deployment、ServiceAccount等),从Rancher UI重新生成导入YAML后再次执行kubectl apply -f
  • 如果Rancher UI中存在未完成的集群注册请求,先删除该请求,再重新发起导入流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 06:43:18