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

Nginx Ingress Controller无法转发GRPC请求:服务无活跃端点

问题:Nginx Ingress Controller跨命名空间服务访问异常

背景与问题现象

  • Nginx Ingress Controller部署在独立命名空间,各业务Ingress部署在对应业务命名空间,通过nginx ingress class关联该控制器
  • 按照机制,控制器应根据Ingress所在命名空间确定目标服务的命名空间,但当前此逻辑失效,Ingress Controller日志报错:

Service "development/users-api" does not have any active Endpoint.

已验证内容

  • 后端Pod之间的服务通信正常
  • 在Ingress Controller所在命名空间内,使用跨命名空间服务完整标识(如 curl users-api.<namespace>.svc.cluster.local)可成功访问目标服务
  • 但Ingress Controller无法通过服务的自然名称(不带命名空间后缀)访问跨命名空间的服务

我的Ingress配置(基于Terraform)

resource kubernetes_ingress_v1 "api-ingress" {
    metadata {
        name = "drop-apis-ingress"
        namespace = terraform.workspace
        annotations = {
            "nginx.ingress.kubernetes.io/ssl-redirect" = true
            "nginx.ingress.kubernetes.io/backend-protocol" = "GRPC"
            "nginx.ingress.kubernetes.io/use-regex" = true
            "cert-manager.io/cluster-issuer" = "letsencrypt-${terraform.workspace}"
            "nginx.ingress.kubernetes.io/server-snippet": "grpc_read_timeout 3600s; grpc_send_timeout 3600s;"
        }
    }

    spec {
        tls {
            hosts = ["${terraform.workspace}.backend.domain.io"]
            secret_name = "letsencrypt-tls-${terraform.workspace}"
        }

        ingress_class_name = "nginx"

        rule {
            host = "${terraform.workspace}.backend.domain.io"  
            http {
                dynamic path {
                    for_each = local.apis
                    content {
// grpc service prefix 
                        path = "/app.protobuf.shared.${title(path.key)}"
                        path_type = "Prefix"
                        backend {
                            service {
                                name = "${path.key}-api"
                                port {
                                    number = 8080
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

补充说明

  • 后端Service基于Helm模板部署,已通过curl验证其功能正常

请问是否遗漏了某些配置?

内容的提问来源于stack exchange,提问作者raphael.oester

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 23:00:37