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

Rancher创建K8s集群报错:webhook-service未找到及连接问题求助

问题解决方案

先解决kubectl连接拒绝问题

出现The connection to the server localhost:8080 was refused是因为本地kubectl默认配置未指向Rancher容器内部的Kubernetes集群,按以下方式处理:

  • 直接进入Rancher容器执行kubectl操作:
    # 先获取Rancher容器ID
    sudo docker ps | grep rancher/rancher
    # 进入容器
    sudo docker exec -it <rancher-container-id> /bin/bash
    # 容器内已配置好内部集群的kubeconfig,可直接使用kubectl命令
    
  • 或者将容器内的kubeconfig导出到本地:
    sudo docker cp <rancher-container-id>:/etc/rancher/k3s/k3s.yaml ~/.kube/config
    # 修改配置中的server地址为localhost:6443(适配容器端口映射)
    sed -i 's/127.0.0.1:6443/localhost:6443/' ~/.kube/config
    
    完成后本地kubectl即可正常连接Rancher内部的K3s集群。

解决webhook-service不存在问题

步骤1:检查cattle-system命名空间组件状态

进入Rancher容器后执行以下命令:

kubectl get pods -n cattle-system
kubectl get svc -n cattle-system
  • 若rancher-webhook-xxx类pod未处于Running状态,排查启动失败原因:
    kubectl describe pod <webhook-pod-name> -n cattle-system
    
    根据日志修复镜像拉取、资源不足或配置错误等问题后,重启pod。
  • 若webhook-service确实不存在,手动创建该服务:
    创建webhook-service.yaml文件:
    apiVersion: v1
    kind: Service
    metadata:
      name: webhook-service
      namespace: cattle-system
    spec:
      ports:
      - port: 443
        targetPort: 9443
      selector:
        app: rancher-webhook
    
    执行创建命令:
    kubectl apply -f webhook-service.yaml
    

步骤2:重新生成webhook证书(按需操作)

确认webhook组件正常后,删除secret触发证书重新生成:

kubectl delete secret rancher-webhook-tls -n cattle-system

重启webhook部署:

kubectl rollout restart deployment rancher-webhook -n cattle-system

步骤3:重试集群创建

完成以上操作后,回到Rancher UI重新尝试创建Kubernetes集群,验证问题是否解决。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:40:22