Istio1.4.5系列——BookInfo 灰度发布2

Istio1.4.5系列——BookInfo 灰度发布2

基于请求内容的路由

Istio 可以基于不同的请求内容将流量路由到不同的版本, 这种策略一方面被应用于AB测试的场景

中, 另一方面配合基于流量比例的规则被应用于较复杂的灰度发布场景中, 例如组合条件路由。

实战目标

在生产环境中同时上线了reviews 服务的v1和v2版本, 运维人员期望让不同的终端用户访问不同的版

本, 例如: 让使用 Chrome浏览器的用户看到评级信息, 但让使用其他浏览器的用户看不到评级信息。

实战演练

参照 上节在集群中部署 ratings 服务和 reviews 服务的 v2版本, 并更新reviews 服务的

DestinationRule。

执行如下命令配置forecast服务的路由规则:

cat virtual-service-reviews-v1-header.yaml

<code>apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
    - reviews
  http:
  - match:
    - headers:
        user-agent:   #对齐格式很重要,不然会失败
          regex: '^.*(Chrome).*'
    route:
    - destination:
        host: reviews
        subset: v2
  - route:
    - destination:
        host: reviews
        subset: v1/<code>

在浏览器中查看配置后的效果: 用 Chrome浏览器多次查询天气信息, 发现始终显示推荐信息, 说明


访问到reviews服务的v2版本; 用IE浏览器多次查询, 发现始终不显示评级信息, 说明
访问到reviews服务的v1版本。

Istio1.4.5系列——BookInfo 灰度发布2


Istio1.4.5系列——BookInfo 灰度发布2

下节介绍多服务灰度发布


如果对您有帮助,记得不要忘了给个关注哦!!!@上海IT故事

还可以关注我之前的文章:

@监控系列 Prometheus

@公司IT系统账号大统一体系

@kube-prometheus


分享到:


相關文章: