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

如何在GCP的ingress.yaml中配置全局负载均衡器而非默认传统款

解决GKE Ingress使用Global HTTP(S) Load Balancer的方法

要在GKE上部署Ingress时使用Global HTTP(S) Load Balancer而非Classic版本,核心是启用Network Endpoint Groups (NEG)——这是触发GKE创建Global LB的关键条件。你只需在现有Ingress配置中添加一个核心注解,并调整部分注解的版本格式即可:

修改后的Ingress配置

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress
  annotations:
    ingress.gcp.kubernetes.io/pre-shared-cert: project-stage
    kubernetes.io/ingress.global-static-ip-name: project-ip
    kubernetes.io/ingress.allow-http: "false"
    networking.gke.io/frontend-config: lb-http-to-https  # 替换原v1beta1版本注解,使用当前推荐格式
    networking.gke.io/use-neg: "true"  # 核心注解:启用NEG,自动创建Global HTTP(S) Load Balancer
spec:
  defaultBackend:
    service:
      name: project-service
      port:
        number: 80
  rules:
  - host: your-domain.com  # 替换为你的实际域名
    http:
      paths:
      - backend:
          service:
            name: project-service
            port:
              number: 80
        path: /*
        pathType: ImplementationSpecific

关键注解说明

  • networking.gke.io/use-neg: "true":该注解会让GKE为Ingress关联的后端服务创建NEG,替代传统的NodePort暴露方式。使用NEG时,GKE会自动创建Global HTTP(S) Load Balancer,而非Classic版本。
  • networking.gke.io/frontend-config:替换原有的networking.gke.io/v1beta1.FrontendConfig,这是当前GKE推荐的FrontendConfig引用格式,避免版本兼容性问题。

验证方法

部署修改后的Ingress后,可通过以下方式确认配置生效:

  • 执行kubectl describe ingress ingress查看事件日志,确认NEG已创建并成功关联
  • 登录GCP控制台,进入「负载均衡」页面,查看创建的负载均衡器类型为「Global HTTP(S) Load Balancer」

内容的提问来源于stack exchange,提问作者terraform-ftw

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 23:06:09