徐大路X 2025-08-20 08:21 采纳率: 0%
浏览 20

关于Rancherui部署k8s问题请教

我是通过docker拉取了rancher镜像v2.11.3,运行成功后,本身local的k3s也启动正常了,这时候通过页面去新增k8s,再加入管理控制节点(另一台服务器)后,页面一直提示提示:waiting for probes: calico, etcd, kube-apiserver, kube-controller-manager, kube-scheduler, kubelet

  • 写回答

5条回答 默认 最新

  • 檀越@新空间 2025-08-20 08:22
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    你遇到的问题是:在使用 Rancher UI 部署 Kubernetes(K8s)集群时,新增了管理控制节点(即 K8s 的 master 节点)后,Rancher 页面一直提示 waiting for probes: calico, etcd, kube-apiserver, kube-controller-manager, kube-scheduler, kubelet。这表明 Rancher 在等待这些关键组件的健康检查通过,但目前没有成功。


    🚨 问题分析

    这个错误通常由以下几种原因导致:

    1. 网络不通:控制节点与工作节点之间的网络连接异常。
    2. 证书问题:证书配置不正确或过期。
    3. 资源不足:CPU、内存或磁盘资源不足,导致组件无法启动。
    4. 镜像拉取失败:某些核心组件的镜像无法从指定仓库拉取。
    5. 防火墙/安全组限制:防火墙规则阻止了必要的端口通信。
    6. K3s 或 Rancher 版本兼容性问题

    ✅ 解决方案(详细步骤)

    1. 确认控制节点和工作节点的网络连通性

    • 检查 IP 和端口是否可达

      • 确保控制节点和工作节点之间可以互相访问。
      • 使用 pingtelnet 检查目标端口(如 6443, 2379, 2380 等)是否开放。
      ping <control-node-ip>
      telnet <control-node-ip> 6443
      
    • 检查 DNS 解析

      • 如果使用主机名,请确保所有节点都能正确解析对方的主机名。

    2. 检查 Rancher 和 K3s 的版本兼容性

    • Rancher v2.11.3 是一个较旧的版本,建议升级到 v2.11.x 或更高版本,以获得更好的兼容性和稳定性。
    • K3s 版本 也需要与 Rancher 兼容。推荐使用 K3s v1.23.x 或以上

    注意: 如果你使用的是 K3s 来部署集群,Rancher 可能会自动拉取并安装 K3s,但如果手动部署,需确保版本匹配。


    3. 查看 Rancher 日志定位具体错误

    • 登录 Rancher 容器,查看日志:

      docker logs <rancher-container-id>
      
    • 查看 kube-system 命名空间下的 Pod 状态:

      kubectl get pods -n kube-system
      kubectl describe pod <pod-name> -n kube-system
      
    • 如果有 CrashLoopBackOffImagePullBackOff,说明镜像拉取失败。


    4. 检查证书和 TLS 配置

    • 如果证书有问题,可能会导致 kube-apiserver 无法正常启动。

    • 检查 /etc/kubernetes/ssl/ 目录下的证书文件是否完整。

    • 如果使用自签名证书,可能需要在 Rancher 中配置信任证书。


    5. 检查资源限制

    • 确保控制节点有足够的 CPU、内存和磁盘空间。

    • 检查系统日志是否有 OOM(内存不足)警告。

      dmesg | grep -i oom
      

    6. 调整 Rancher 的探针超时时间(可选)

    如果某些组件启动较慢,可以尝试延长探针的超时时间。

    • 编辑 Rancher 的配置文件(如 values.yaml),添加如下内容:

      agent:
        extraArgs:
          - --health-check-timeout=300
      
    • 然后重新部署 Rancher:

      helm upgrade rancher rancher-latest/rancher --namespace cattle-system -f values.yaml
      

    7. 重新初始化集群(如果上述方法无效)

    如果问题持续存在,建议:

    1. 删除当前的 Rancher 集群。
    2. 清理所有相关容器和数据:
      docker stop rancher
      docker rm rancher
      
    3. 重新拉取 Rancher 镜像并运行:
      docker run -d -p 80:80 -p 443:443 --name rancher rancher/rancher:v2.11.3
      
    4. 重新通过页面创建集群,选择 K3s,并确保所有节点配置正确。

    🧪 示例:Rancher 创建 K3s 集群的 YAML 配置(可参考)

    如果你使用的是 Rancher 的 API 或 Helm Chart 来部署,可以参考如下配置片段:

    cluster:
      name: my-cluster
      type: rke2
      spec:
        clusterConfig:
          etcd:
            count: 1
            # 设置 etcd 数据目录
            dir: /var/lib/etcd
          network:
            plugin: calico
          services:
            kube-api:
              extraArgs:
                enable-admission-plugins: "NamespaceLifecycle,LimitRanger"
    

    🔁 总结

    | 步骤 | 内容 | |------|------| | 1 | 检查网络连通性 | | 2 | 检查 Rancher 和 K3s 版本兼容性 | | 3 | 查看 Rancher 和 Kubernetes 日志 | | 4 | 检查证书和 TLS 配置 | | 5 | 检查资源限制 | | 6 | 调整探针超时时间(可选) | | 7 | 重新初始化集群 |


    📌 最终建议

    强烈建议升级 Rancher 到最新稳定版本(如 v2.12.x 或更高),并使用 K3s v1.24.x 或以上版本,以避免已知的兼容性问题。

    如果你愿意提供具体的 Rancher 日志或 Kubernetes Pod 状态信息,我可以进一步帮你定位问题根源。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月20日