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

如何诊断Rancher 2.x卡provisioning问题及查找集群构建日志

Rancher 2.x 自定义集群卡在“等待向Kubernetes注册”问题排查

核心问题1:Rancher集群搭建活动日志的存储位置

Rancher 2.x的日志存储逻辑和1.x完全不同,不存在旧版本/var/lib/cattle的路径,按排查场景分三类:

  • Rancher服务端全量日志
    直接查看运行Rancher的容器标准输出:
    定位容器:docker ps | grep rancher/server
    拉取近10分钟日志:docker logs -f --since 10m <rancher容器ID>
    排查时重点搜索关键词:noderegistration、cluster.provision、wss handshake、tls
  • 节点侧rancher-agent日志
    这是节点和Rancher交互的最直接日志,就是你之前找到的路径:
    定位agent容器:docker ps | grep rancher/rancher-agent
    拉取全量运行日志:docker logs --tail 300 <agent容器ID>
    排查时重点搜索关键词:Waiting for node to register、connection refused、x509、etcd dial
  • Rancher UI侧集群事件日志
    不需要登录服务器即可查看,进入对应集群详情页,左侧导航选择「事件」标签,即可看到Rancher拉取的所有集群组件、节点的运行报错,比翻容器日志排查效率更高。

核心问题2:卡“Waiting to register with Kubernetes”的最佳排查方案

结合你的环境配置(4台同Proxmox平台的Ubuntu20.04 VM、Rancher2.5.7默认配置、单节点单角色部署),按优先级排查:

  1. 先确认注册逻辑的前置要求
    从你贴的agent日志可以看到,当前明确的提示是:"Waiting for node to register. Either cluster is not ready for registering or etcd and controlplane node have to be registered first"。
    自定义集群的注册流程是强顺序依赖:必须至少有1台带--controlplane角色的节点完成注册、成功启动kube-apiserver服务,etcd、worker角色的节点才会被允许完成注册流程。你当前仅启动了etcd角色节点的agent,没有在对应controlplane节点上执行带--controlplane参数的agent启动命令,自然会一直卡在等待状态。
  2. 逐台验证节点间的端口连通性(不要靠ping/SSH判断网络正常)
    同虚拟化平台下的节点经常因为桥接配置、默认防火墙规则拦截特定流量,逐段测试连通性:
    • 所有节点到Rancher节点:需要通TCP 443(Rancher的wss注册通道)
    • controlplane节点到etcd节点:需要通TCP 2379(etcd客户端端口)、TCP 2380(etcd节点同步端口)
    • 所有节点间需要通UDP 8472(2.5版本默认Flannel CNI的overlay端口)
      测试连通性直接用命令:nc -vz <目标IP> <端口>,只要有一个端口不通就会导致注册卡住。
  3. 修复resolv.conf的回环DNS问题
    日志里的Loopback address found in /etc/resolv.conf不是可忽略的告警:Ubuntu20.04默认用systemd-resolved把127.0.0.53作为本地DNS缓存,而Rancher agent、kubelet组件会直接读取宿主机的resolv.conf,回环地址的DNS配置会导致组件镜像拉取、集群内域名解析失败,最终注册超时。
    修复方式:直接把宿主机/etc/resolv.conf的nameserver改成实际可用的公网DNS(比如1.1.1.1、8.8.8.8),不要走本地回环的DNS缓存配置,重启对应节点的agent容器后再观察日志。
  4. 确认自签证书的校验问题
    本地部署的Rancher默认用自签CA证书,如果节点侧没有正确信任CA,会导致wss通道握手成功但后续注册流程静默失败:看agent日志中有没有x509: certificate signed by unknown authority类报错,若存在,在本地测试环境可以给agent启动命令加--insecure参数跳过证书校验验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 15:45:04