本文的目的:流量镜像。
继# 【玩转服务网格】如何使用网格进行灰度发布中的实例继续验证流量镜像机制。
mirror规则可以使Envoy截取所有request,并在转发请求的同时,将request转发至Mirror版本,同时在Header的Host/Authority加上-shadow。
这些mirror请求会工作在fire and forget模式,所有的response都会被废弃。
VirtualService配置mirror信息
- 将canary v1的请求全部到v2版本镜像一份。
k apply -f mirror.yaml -n canary
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: canary
spec:
hosts:
- canary
http:
- route:
- destination:
host: canary
subset: v1
mirror:
host: canary
subset: v2
- 检查sidecar的路由配置是否正确下发。
istioctl pc route -n canary toolbox-78555898fb-ntsc4 -o json
- 进入客户端toolbox中,进行请求测试。
从结果来看,两个版本的pod都接收到了请求,测试成功。