创建负载均衡报错

Rancher Server 设置

  • Rancher 版本:v2.5.14
  • 安装选项 (Docker install/Helm Chart): Helm Chart
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本:k3s
  • 在线或离线部署:离线

下游集群信息

  • Kubernetes 版本: v1.20.15
  • Cluster Type (Local/Downstream): Downstream
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等): 自定义

用户信息

  • 登录用户的角色是什么? (管理员/集群所有者/集群成员/项目所有者/项目成员/自定义):管理员
    • 如果自定义,自定义权限集:

主机操作系统: CentOS 7

问题描述:
创建负载均衡时报错:

Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": 
Post "https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/v1/ingresses?timeout=10s": 
dial tcp 10.43.78.28:443: connect: no route to host

重现步骤:

结果:

预期结果:

截图:

其他上下文信息:

日志


这个webhook是ingress-nginx创建的,并通过service clusterip暴露访问。
提示的错误显示,无法通过这个svc ip访问到ingress webhook。

你可以尝试在一些host上:curl -k 10.43.78.28:443。以便确认是否某台主机的svc ip机制出现了问题。

你好,所有下游节点 curl 都是提示 no route to host,k3s 节点提示 Connection timed out,那么这个问题该怎么解决?

我没有明确的解决方案,因为我从没遇见过这个问题。我只能说一下我对这个原理的理解。

如果所有节点访问这个svc ip均失败,有理由相信当前这个k8s集群出现了网络问题。我会确认当前CNI网络的状态,对于kube-proxy,无论使用iptables还是ipvs模式,我都会查看具体规则是否生效。如果一切没有头绪,我会redeploy nginx-ingress或者kube-proxy或者CNI网络插件相关程序。

感谢提供思路。最终找到问题了,之前配防火墙端口把 8443 漏掉了,尴尬。