Google Cloud Ingress如何为europe-west2区域K8s集群使用europe-west3区域IP
报错的根本原因是你当前使用的
kubernetes.io/ingress.regional-static-ip-name注解仅支持绑定集群所在区域的区域级静态IP,GCP原生Ingress控制器默认不会跨区域读取其他区域的IP资源。
可行方案如下:
方案1:改用全球级外部静态IP(最推荐)
GCP全球级外部静态IP可跨区域供全局HTTP/HTTPS负载均衡(GKE默认Ingress对应的负载均衡类型)使用,操作步骤:
- 申请GCP全球级外部静态IP(注意区分区域级IP,资源定位选择「全球」)
- 删除Ingress原有
kubernetes.io/ingress.regional-static-ip-name注解,替换为如下配置:
annotations: kubernetes.io/ingress.global-static-ip-name: "你申请的全球静态IP的名称"
- 重新Apply Ingress配置即可生效。
方案2:跨区域负载均衡转发(必须保留europe-west3区域IP时使用)
如果业务要求必须使用当前europe-west3的区域静态IP,可通过双层负载均衡实现:
- 在europe-west3区域创建TCP/HTTP负载均衡,前端绑定现有名称为
xyz的区域静态IP - 负载均衡后端转发目标指向europe-west2集群Ingress的公网访问端点(可先为伦敦集群Ingress配置同区域的临时静态IP)
- 把业务域名解析直接指向europe-west3的区域静态IP即可,流量会经法兰克福负载均衡转发到伦敦集群。
方案3:使用自托管Ingress控制器
如果不使用GCP原生Ingress,切换为Nginx Ingress等自托管控制器也可实现需求:
- 在europe-west3区域创建网络负载均衡,前端绑定现有
xyz静态IP - 负载均衡后端池指向europe-west2集群节点的Nginx Ingress暴露的NodePort端口(需打通两个区域的VPC网络,或集群节点配置公网访问权限)
- 后续流量可直接通过法兰克福IP转发到集群内的Ingress控制器。
内容的提问来源于stack exchange,提问作者JSt
相关产品推荐
相关产品推荐

