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

如何在NGINX Ingress Controller中基于源IP用if条件路由至对应K8s集群

基于源IP范围的内网跨K8s集群流量路由方案(Azure环境)

核心结论

单个集群的Ingress规则无法直接实现跨集群流量路由——Ingress仅负责当前集群内的流量分发,无法直接转发请求到外部集群端点。针对Azure内网场景,推荐以下几种可行方案:

方案1:Azure Front Door Premium(内部模式)

这是最适配的Azure原生方案,支持内网流量管控和源IP路由规则:

  • 将Front Door Premium配置为内部模式,通过Azure Private Link关联两个K8s集群的内部端点(比如集群Ingress服务绑定的内部负载均衡器)
  • 创建两条路由规则:
    • 第一条规则匹配源IP范围10.0.0.0/16,将请求转发至欧盟集群的后端池
    • 第二条作为默认规则,将其他源IP的请求路由至美国集群的后端池
  • 把abc.com的DNS记录指向Front Door的内部FQDN,实现内网用户的统一访问

方案2:Azure应用网关(WAF v2)+ 内部负载均衡器

若已部署应用网关,可基于现有组件扩展:

  • 给两个K8s集群分别配置内部负载均衡器(ILB),暴露应用服务
  • 将两个ILB添加为应用网关的后端池
  • 在应用网关中配置路由规则:
    • 针对源IP10.0.0.0/16创建专属转发规则,指向欧盟集群后端池
    • 设置默认规则,将其余流量转发至美国集群后端池
  • 将应用网关设为内部模式,内网用户通过应用网关的内部IP访问abc.com(DNS对应该IP)

方案3:Azure Kubernetes Fleet Manager + 跨集群Ingress控制器

如果倾向于K8s原生方案:

  • 用Azure Kubernetes Fleet Manager将两个集群组成联邦集群
  • 部署支持跨集群路由的Ingress控制器(如NGINX Plus、Traefik联邦版)
  • 在联邦Ingress资源中配置源IP路由规则,示例NGINX配置片段:
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: cross-cluster-ingress
      annotations:
        nginx.org/server-snippets: |
          if ($remote_addr ~* ^10\.0\.0\..*) {
            proxy_pass http://eu-cluster-federated-service;
          }
          proxy_pass http://us-cluster-federated-service;
    spec:
      rules:
      - host: abc.com
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: dummy-service
                port:
                  number: 80
    
    注:eu-cluster-federated-service和us-cluster-federated-service是通过Fleet Manager配置的跨集群服务端点,需提前完成联邦服务暴露。

单个Ingress的临时折中方案(不推荐)

如果仅做临时测试,可将另一集群的服务通过Azure Private Link暴露为当前集群的内部服务,然后在Ingress注解中添加源IP判断片段:

annotations:
  nginx.ingress.kubernetes.io/server-snippet: |
    if ($remote_addr ~* ^10\.0\.0\..*) {
      proxy_pass http://eu-private-link-service;
    }

这种方式维护成本高,仅适合小规模临时场景,不建议作为长期架构。

内容的提问来源于stack exchange,提问作者Container-Man

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 08:35:16