gpt4 book ai didi

kubernetes - 使用Istio在K8s集群内部路由加权流量

转载 作者:行者123 更新时间:2023-12-02 12:30:02 25 4
gpt4 key购买 nike

我有2个应用程序(Web和Api),分别有2个服务和2个Istio virtualServices。每个服务还有2个版本(v1和v2)。

我想做三件事-

  • 对于Web,除测试用户以外的所有流量都将路由 100%到版本 v1
  • 对于Web,对于,测试用户流量将仅将 100%路由到版本 v2 (这与第一点相反)。在上线之前,质量检查小组将对 v2 版本执行测试,一旦获得质量检查小组的验证,会将每个用户的流量移动到 100% v2 ,并删除 v1 版本。
  • 对于Api,流量将针对 v1 版本(稳定版)分发 95%(稳定版),对于 v2版本版本(发行版)分发 5%

  • Web list 文件:
    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
    name: web-vs
    spec:
    hosts:
    - web.example.com
    http:
    - match:
    - headers:
    end-user:
    exact: test-user
    route:
    - destination:
    host: web-svc
    subset: v2
    - route:
    - destination:
    host: web-svc
    subset: v1
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: web-svc
    labels:
    app: web
    spec:
    ports:
    - name: http
    port: 3000
    targetPort: 3000
    selector:
    app: web

    API list 文件:
    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
    name: api-vs -------------> #1
    spec:
    hosts:
    - api-svc
    http:
    - route:
    - destination:
    host: api-svc
    subset: v1
    weight: 95
    - destination:
    host: api-svc
    subset: v2
    weight: 5
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: api-svc -------------> #2
    labels:
    app: api
    spec:
    ports:
    - name: http
    port: 8000
    targetPort: 8000
    selector:
    app: api

    流量路由策略
  • 当我们点击URL web.example.com 时,它将提供来自 web-svc 服务的流量。 (已设置)
  • 在后端中,服务 web-svc 将在内部调用服务 api-svc ,服务 api-svc 将流量 95%分配给到和到流量。 (这就是我努力处理的错误路由的问题。)
  • 最佳答案

    我认为问题在于缩进和主机。从Istio docs尝试这样:

    hosts:
    - api-svc
    http:
    - route:
    - destination:
    host: api-svc
    subset: v1
    weight: 95
    - destination:
    host: api-svc
    subset: v2
    weight: 5


    编辑:目标主机。

    关于kubernetes - 使用Istio在K8s集群内部路由加权流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59244857/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com