本节我们将测试流量分配
和http header匹配
在reviews
VirtualService定义中加入v3版本,设置v1:v2:v3 = 60:20:20:
保存yaml,不断刷新浏览器(alb地址),我们将有几率访问到v3版本的页面:
使用curl模拟用户流量访问:
while sleep 0.1; do curl -sS 'http://a8a1deecac1ad4ba7993b01e393d363d-322922569.us-west-2.elb.amazonaws.com/productpage' &>/dev/null; done
在Kiali的graph页面能看到v3版本:
在Service里查看 weight distribution
:
更新reviews
VirtualService定义如下:
spec:
hosts:
- reviews
http:
- match:
- headers:
end-user:
exact: test
route:
- destination:
host: reviews
subset: v2
- route:
- destination:
host: reviews
subset: v3
当http header为end-user=test
时,将访问到v2版本;默认访问到v3版本
保存配置。现在我们使用test
用户来测试页面:
用户名输入test
,密码随便输入。
当用户为test
时,访问到的是v2版本:
将用户登出,访问到的是v3版本,而且不断刷新浏览器都是这一个版本:
VirtualService控制流量访问的方式有很多,本节先介绍这两种,在后面会介绍其他方式