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

Kubernetes Ingress问题:Ingress到Service的路由无法正常工作

排查 Tectonic Ingress 到 Service 路由故障的实战步骤

我帮你梳理下定位这个问题的具体操作,一步步来排查:

  • 验证 Ingress 资源的状态与完整性
    先别只看YAML,用命令查看Ingress的详细运行状态和事件:

    kubectl describe ing test-ingress -n nstest
    

    重点看Events字段,有没有出现类似"Failed to sync"、"Service not found"这类报错。另外你贴的YAML里path部分有...,要确认实际的Ingress规则有没有完整配置,有没有语法错误(比如缩进、括号不匹配)。

  • 确认 Tectonic Ingress Controller 运行正常
    Tectonic依赖专属的Ingress控制器,先找到它的Pod并检查状态:

    kubectl get pods -n tectonic-system | grep ingress
    

    确保Pod处于Running状态,没有频繁重启。接着查看控制器的日志,找和你的test-ingress相关的错误信息:

    kubectl logs <你的-ingress-controller-pod-name> -n tectonic-system
    

    比如有没有提示无法解析test Service,或者权限不足无法访问后端资源。

  • 检查后端 Service 与 Pod 的连通性
    这一步是排除后端服务本身的问题:

    1. 确认test Service存在且配置正确:
      kubectl get svc test -n nstest
      
      看ClusterIP是否已分配,PORT(S)里有没有8080端口。
    2. 检查Service关联的Pod端点:
      kubectl get endpoints test -n nstest
      
      如果ENDPOINTS字段是空的,说明Pod没和Service绑定——要么是Pod的标签和Service的选择器不匹配,要么Pod没处于Ready状态,用下面的命令检查Pod状态:
      kubectl get pods -n nstest -l <test-service的标签选择器>
      
    3. 集群内部测试连通性:找一个集群内的测试Pod(比如busybox),执行:
      wget -O- http://test.nstest.svc.cluster.local:8080
      
      如果这一步都访问失败,那问题出在Service或Pod,和Ingress无关。
  • 验证DNS与外部访问路径

    1. 确认域名解析正确:在本地执行nslookup test.nstest.k8s.privatecloud.com,看返回的IP是不是Tectonic Ingress控制器的入口IP(比如LoadBalancer的公网IP,或者NodePort对应的节点IP)。
    2. 测试外部访问:用curl -v http://test.nstest.k8s.privatecloud.com,看返回的错误类型——是404(Ingress规则不匹配)、503(后端服务不可用)还是超时(网络不通),这能帮你快速缩小范围。
  • 确认 Ingress Class 配置匹配
    检查Tectonic Ingress控制器的启动参数,确认它确实监听了tectonic这个Ingress class。可以用下面的命令查看控制器的容器参数:

    kubectl describe pod <ingress-controller-pod-name> -n tectonic-system | grep Args
    

    如果没有--ingress-class=tectonic这个参数,那控制器不会处理你的Ingress资源,需要调整控制器配置。

常见额外排查点

  • 路径匹配规则:如果你的后端服务需要特定路径,检查Ingress有没有配置路径重写注解(比如nginx.ingress.kubernetes.io/rewrite-target,如果是基于NGINX的控制器),或者路径是精确匹配还是前缀匹配。
  • 命名空间权限:确认Ingress控制器的服务账号有访问nstest命名空间资源的权限,比如能不能获取Service和Endpoints。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:31:51