istio-0.8 路由权重设置

基于权重的版本路由

  1. 将所有微服务的默认版本设置为v1。

    $ istioctl create -f @samples/bookinfo/routing/route-rule-all-v1.yaml@
    
  2. reviews通过在浏览器中打开http:// $ GATEWAY_URL / productpage,确认v1是该服务的有效版本。

    您应该看到显示的Bookinfo应用程序产品页面。请注意,productpage由于reviews:v1未访问评级服务,因此未显示评级星标。

  3. 首先,从传输50%的流量reviews:v1,以reviews:v3与下面的命令:

    $ istioctl replace -f @samples/bookinfo/routing/route-rule-reviews-50-v3.yaml@
    

    确认规则已被替换:

        $ istioctl get virtualservice reviews -o yaml
        apiVersion: networking.istio.io/v1alpha3
        kind: VirtualService
        metadata:
          name: reviews
          ...
        spec:
          hosts:
          - reviews
          http:
          - route:
            - destination:
                host: reviews
                subset: v1
              weight: 50
          - route:
            - destination:
                host: reviews
                subset: v3
              weight: 50
    
  4. productpage在您的浏览器中刷新,您现在应该看到大约50%的红色星级。

    使用当前的Envoy边车实施,您可能需要刷新productpage很多次才能看到正确的分布。在看到任何更改之前,可能需要刷新15次或更多次。您可以修改规则以将90%的流量路由到v3,以便更频繁地查看红色星星。

  5. reviews微服务的版本v3 被认为是稳定的时,我们可以将100%的流量路由到reviews:v3

    $ istioctl replace -f @samples/bookinfo/routing/route-rule-reviews-v3.yaml@
    

    您现在可以登录productpage任何用户,并且您应该始终看到每个评论都带有红色星级的书评。

参考资料:https://istio.io/docs/tasks/traffic-management/traffic-shifting/

上一篇:通用的进程监控脚本process_monitor.sh使用方法


下一篇:istio 各组件概念个人理解