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

GKE内部Ingress创建失败求助(含错误信息与配置文件)

GKE内部ALB Ingress创建失败问题解决指南

1. 解决Proxy-Only子网缺失问题

第一个错误明确要求在集群所在的同一区域和VPC内创建活跃的proxy-only子网,这是GCP内部HTTP(S)负载均衡的强制依赖组件:
执行以下gcloud命令创建(替换为你的项目、VPC、区域和未占用的CIDR段):

gcloud compute networks subnets create proxy-only-subnet \
  --project=gke-project \
  --network=你的VPC名称 \
  --region=asia-southeast2 \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --range=10.199.0.0/24

注意:子网purpose必须设为REGIONAL_MANAGED_PROXY,role设为ACTIVE,CIDR不能与现有子网重叠。

2. 修正Service配置

你当前的Service是LoadBalancer类型,搭配内部Ingress时无需单独创建LB,应改为ClusterIP类型:
修改svc.yaml如下:

apiVersion: v1
kind: Service
metadata:
  name: gke-svc
  namespace: gke-app
  annotations:
    cloud.google.com/neg: '{"ingress": true}'
  labels:
    app: gke-app
spec:
  sessionAffinity: ClientIP
  selector:
    app: gke-app
  ports:
    - port: 8003
      targetPort: 8000
      protocol: TCP
      name: http
  type: ClusterIP

移除原配置中的loadBalancerIP、nodePort和networking.gke.io/load-balancer-type注解。

3. 验证Ingress配置

你的Ingress配置基本合规,需确认两点:

  • 集群中已存在gce-internal这个IngressClass(GKE默认会自动创建,若缺失可手动创建)
  • 确保event.staginggke.my.id的DNS后续能解析到内部LB分配的VPC内网IP

4. 重新部署与错误排查

执行部署命令:

kubectl apply -f svc.yaml
kubectl apply -f ingress.yaml

若仍出现"Missing one or more resources"错误,执行以下命令定位问题:

  • 查看Ingress事件详情:kubectl describe ingress event-ingress -n gke-app
  • 检查GCP转发规则状态:gcloud compute forwarding-rules list --region=asia-southeast2
  • 确认GCP侧的targetHttpProxy、urlMap等资源是否创建成功

关键注意事项

  • Proxy-only子网必须与集群处于同一区域和VPC
  • Ingress关联的Service需用ClusterIP类型,避免重复创建负载均衡
  • cloud.google.com/neg注解可保留,用于让Ingress使用网络端点组优化性能

内容的提问来源于stack exchange,提问作者Mirza Aditya Deliantama

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 19:05:59