流量转移

1、设置所有流量路由到v1版本

istioctl create -f samples/bookinfo/networking/virtual-service-all-v1.yaml

2、浏览器打开,刷新多次,都显示v1版本

3、将50%的流量转到v3

 istioctl replace -f samples/bookinfo/networking/virtual-service-reviews-50-v3.yaml
Updated config virtual-service/default/reviews to revision 11457

4、确认规则已替换

 istioctl get virtualservice reviews -o yaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  creationTimestamp: null
  name: reviews
  namespace: default
  resourceVersion: "11457"
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 50
    - destination:
        host: reviews
        subset: v3
      weight: 50
---
5、刷新页面,大约有50%的几率v3版本

6、v3版本微服务已经稳定,可直接切换到v3版本

istioctl replace -f samples/bookinfo/networking/virtual-service-reviews-v3.yaml
Updated config virtual-service/default/reviews to revision 11655

 

在这项任务中,我们使用Istio的加权路由功能将流量从旧版本的 reviews 服务迁移到新版本。请注意,这和使用容器编排平台的部署功能来进行版本迁移完全不同,后者使用了实例扩容来对流量进行管理。

使用Istio,两个版本的 reviews 服务可以独立地进行扩容和缩容,并不会影响这两个版本服务之间的流量分发。

你可能感兴趣的:(微服务)