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

GKE集群中Kong Ingress Controller保留客户端IP异常排查求助

GKE上Kong Ingress Controller保留客户端原始IP问题的解决

核心问题定位

你现在的配置里踩了个关键坑:ingress.yaml用了kubernetes.io/ingress.class: gce,这等于让流量先过GCE自带的负载均衡器,再转发到Kong的kong-proxy Service。这种双层LB架构下,哪怕给Kong的Service加了externalTrafficPolicy: Local,真实客户端IP也会被GCE LB覆盖掉——因为GCE Ingress转发时会替换请求头,不会把原始IP传给后端的Kong。

另外你直接连Kong Pod也看不到真实IP,说明Kong本身的配置也没开启IP识别功能。

分步解决方案

1. 删掉多余的GCE Ingress,让Kong直接当入口

既然用Kong Ingress Controller,就没必要再套一层GCE Ingress。直接删掉现有kong-ingress,把kong-proxy Service改成直接对外的LoadBalancer:

修改service.yaml,加上必要的GCP配置注解(按需选):

apiVersion: v1
kind: Service
metadata:
  name: kong-proxy
  namespace: kong
  annotations:
    # 绑定你的静态公网IP,替换成实际名称
    cloud.google.com/load-balancer-ip: "kong-static-ip"
    # 如果需要内部LB,解开下面这行注释
    # cloud.google.com/load-balancer-type: "Internal"
spec:
  ports:
  - name: proxy
    port: 80
    protocol: TCP
    targetPort: 8000
  - name: proxy-ssl
    port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    app: ingress-kong
  type: LoadBalancer
  externalTrafficPolicy: Local

应用配置并删除多余Ingress:

kubectl apply -f service.yaml -n kong
kubectl delete ingress kong-ingress -n kong

2. 配置Kong识别并传递真实IP

修改deployment.yaml里proxy容器的环境变量,开启Kong的真实IP检测:

- name: KONG_TRUSTED_IPS
  # 信任GCP LB和集群内部IP段,确保Kong能解析X-Forwarded-For头
  value: "0.0.0.0/0, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16"
- name: KONG_REAL_IP_HEADER
  value: "X-Forwarded-For"
- name: KONG_REAL_IP_RECURSIVE
  value: "on"

这些配置会让Kong从GCP LB传递的X-Forwarded-For头里提取真实客户端IP,再把它传给后端服务。

应用修改:

kubectl apply -f deployment.yaml -n kong

3. 验证效果

  • 等Kong Pod重启完成,确认Service的外部IP已分配:
kubectl get service kong-proxy -n kong
  • 用curl访问Kong的外部IP,查看响应头或者直接看Kong的日志:
curl -v https://<kong-external-ip>
# 查看Kong代理容器的访问日志
kubectl logs -n kong -l app=ingress-kong -c proxy

日志里应该能看到你的真实客户端IP,而不是GCE LB的IP。

额外说明

如果确实需要保留GCE Ingress(比如和其他GCP服务集成),得给GCE Ingress配置FrontendConfig资源来开启X-Forwarded-For传递,但这种方式复杂度更高,不如直接用Kong做入口简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 08:13:13