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

GCP/GKE环境Kubernetes Ingress创建及AWS ALB配置适配方法

核心问题解答

  • 你提供的配置是通过kubernetes.io/ingress.class: alb这个注解标识为AWS专属Ingress的:alb并不是Kubernetes官方统一规定的枚举值,而是AWS自研的「AWS Load Balancer Controller(原ALB Ingress Controller)」自定义的识别标识。只有你的K8s集群中部署了这个AWS官方维护的控制器,才会监听到标注了alb类的Ingress资源,进而调用AWS API创建ALB实例。Kubernetes官方文档只会定义Ingress注解的通用格式,不会收录各厂商自定义的class取值,所以你在K8s官方文档找不到alb的定义属于正常情况。
  • kubectl没有内置任何云厂商的对接客户端:所有云厂商Ingress的创建逻辑完全由集群中部署的对应Ingress控制器实现,和kubectl无关。集群里没有部署对应控制器的话,哪怕你写了对应class的Ingress配置,也只会停留在K8s资源层面,不会真的创建云厂商的负载均衡资源。
  • GKE对应Ingress的kubernetes.io/ingress.class取值:
    • 公网Ingress用gce,对应GCP的外部HTTP(S)负载均衡
    • 内网Ingress用gce-internal,对应GCP的内部HTTP(S)负载均衡

GKE适配版Ingress配置示例

原配置使用的extensions/v1beta1是已废弃的老旧API版本,适配GKE的稳定版配置参考如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-web-server
  namespace: myapp
  annotations:
    kubernetes.io/ingress.class: "gce-internal" # 匹配原配置的内网属性
    networking.gke.io/load-balancer-type: "Internal"
    # 原配置的安全组能力对应GCP防火墙规则,可按需添加对应注解配置访问控制
    app.kubernetes.io/name: my-gke-ingress-web-server
    app.kubernetes.io/component: my-gke-ingress
spec:
  rules:
    - http:
        paths:
          - path: /*
            pathType: ImplementationSpecific
            backend:
              service:
                name: my-web-server
                port:
                  number: 8080

注:所有alb.ingress.kubernetes.io/开头的AWS专属注解,在GKE中需要替换为networking.gke.io/开头的对应功能注解即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:57:02