【kubernetes】Minikube-Istio流量切换Traffic Shifting
Minikube-Istio流量切换Traffic Shifting
Before you begin
参考【kubernetes】Minikube-Istio初探 搭建基础环境,并部署好官方示例Bookinfo
网站包括四个微服务:
productpage :本服务会调用 details 和 reviews 两个微服务,用来生成页面。
details :这个微服务包含了书籍的信息。
reviews :这个微服务包含了书籍相关的评论。它还会调用 ratings 微服务。
ratings :ratings 微服务中包含了由书籍评价组成的评级信息。
reviews 微服务有 3 个版本:
v1 版本不会调用 ratings 服务。
v2 版本会调用 ratings 服务,并使用 1 到 5 个黑色星形图标来显示评分信息。
v3 版本会调用 ratings 服务,并使用 1 到 5 个红色星形图标来显示评分信息。
这里的v1、v2、v3是通过label version: v1
标注
Apply weight-based routing
1 运行一下命令使virtual services生效,切换所有流量只访问V1
1 | $ kubectl apply -f https://gitee.com/melodyfff/istio/raw/master/samples/bookinfo/networking/virtual-service-all-v1.yaml |
2 转发50%
流量从reviews:v1
到reviews:v3
:
1 | $ kubectl apply -f https://gitee.com/melodyfff/istio/raw/master/samples/bookinfo/networking/virtual-service-reviews-50-v3.yaml |
此时刷新/productpage
页面会间歇看到红色评级星
- 转发
100%
流量到reviews:v3
:此时刷新1
2
3
4$ kubectl apply -f https://gitee.com/melodyfff/istio/raw/master/samples/bookinfo/networking/virtual-service-reviews-v3.yaml
# 查看是否生效
$ kubectl get virtualservice reviews -o yaml/productpage
页面会看到红色评级星
CleanUp
1 | $ kubectl delete -f https://gitee.com/melodyfff/istio/raw/master/samples/bookinfo/networking/virtual-service-all-v1.yaml |