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

如何通过GCK Ingress实现双服务流量路由及百分比管控

GKE 流量百分比分流配置方案

GKE支持基于百分比的流量路由,完全满足你初始10%流量导向新实例、故障时快速切回0%的需求,以下是具体配置方案:

核心配置思路

通过GKE原生Ingress配置多后端服务权重,直接实现流量比例分配,无需额外组件,操作简单易回滚。

步骤1:确保新旧服务已部署

确认旧Node服务(old-service)和新框架服务(new-service)都已部署为Deployment,且对应创建了ClusterIP类型的Service(端口需统一,比如都用80端口对外暴露)。

步骤2:配置带权重的Ingress

创建如下Ingress YAML文件(traffic-split-ingress.yaml):

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: traffic-split-ingress
  annotations:
    kubernetes.io/ingress.class: "gce" # 指定使用GKE原生Ingress控制器
spec:
  rules:
  - http:
      paths:
      - path: /*
        pathType: ImplementationSpecific
        backend:
          service:
            name: old-service
            port:
              number: 80
            weight: 90 # 90%流量流向旧服务
      - path: /*
        pathType: ImplementationSpecific
        backend:
          service:
            name: new-service
            port:
              number: 80
            weight: 10 # 10%流量流向新服务

执行部署命令:

kubectl apply -f traffic-split-ingress.yaml

步骤3:调整流量比例/快速回滚

  • 若需调整流量比例(比如将新服务流量提升至30%),直接修改Ingress文件中的weight字段,重新执行kubectl apply即可,变更会在几分钟内生效。
  • 若新服务出现问题,将new-service的weight设为0,old-service设为100,执行kubectl apply即可快速将所有流量切回旧服务。

验证配置

执行以下命令查看Ingress的后端权重配置是否生效:

kubectl describe ingress traffic-split-ingress

在输出的Rules部分可看到各后端服务的权重设置。

进阶方案(可选)

如果需要更精细的流量管控(比如基于请求头、用户群体拆分流量),可以使用GKE的Anthos Service Mesh(ASM)或Traffic Director,通过VirtualService配置更复杂的路由规则,但对于基础的百分比分流,原生Ingress方案足够轻量高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 18:21:20