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

GKE Ingress报错找不到NEG资源无法正常创建问题咨询

问题解答

疑问1:NEG资源的创建主体&是否为Ingress配置问题

NEG(网络端点组)由GKE内置的NEG控制器负责创建,属于GKE控制平面的原生组件:对于VPC原生集群,默认情况下当Ingress关联到某个Service时,控制器会自动在对应GCP项目的集群所在区域创建对应NEG资源。
你当前的问题大概率不是Ingress本身的配置错误,而是NEG创建环节失败、或者Ingress控制器与NEG控制器之间的同步状态异常导致的,服务本身运行正常、健康检查通过仅能说明Service后端的Pod可用,不代表NEG资源创建环节正常。

疑问2:LB控制台无对应资源的原因

是的,GKE Ingress创建负载均衡是链式流程:需要先完成NEG创建、后端服务配置、健康检查绑定等前置步骤,才会生成完整的负载均衡资源。当前因为后端同步环节失败,流程提前终止,自然不会在LoadBalancer控制台生成对应的资源,这是Ingress创建失败的结果,不是诱因。


排查&解决步骤

  1. 检查Service的NEG配置
    执行命令查看目标Service的配置:
    kubectl describe svc webserver -n production
    
    确认Service的Annotation中是否存在cloud.google.com/neg相关配置,正常情况下会自动生成cloud.google.com/neg: '{"ingress": true}'的标注,如果没有可以手动加上后重新apply Service配置,触发NEG创建。
  2. 验证NEG是否正常创建
    执行gcloud命令确认对应NEG资源是否存在:
    gcloud compute network-endpoint-groups list --filter="name~webserver"
    
    如果返回为空,查看Service的事件日志,排查是否有权限不足、区域不匹配等NEG创建失败的报错。
  3. 清理异常同步缓存
    很多时候该问题是Ingress控制器残留了旧的同步状态导致的,按以下顺序操作:
    • 先删除当前异常的Ingress:kubectl delete ingress basic-ingress -n production
    • 等待5分钟以上,确保GKE控制平面清理完旧的同步记录
    • 重新apply Ingress配置
  4. 验证GKE服务账号权限
    确认GKE默认服务账号(格式为service-<你的项目ID>@container-engine-robot.iam.gserviceaccount.com)是否被授予了roles/container.serviceAgent角色,如果该角色被误删,会导致GKE控制平面无法创建GCP侧的网络资源。
  5. 手动清理残留资源
    如果以上步骤都无效,可以手动到GCP控制台的「网络端点组」页面,搜索对应服务名的残留NEG,手动删除后再重新创建Ingress即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:36:04