本文使用istio版本:1.4.2
上章内容只是简单运行了Bookinfo示例(Istio使用【Bookinfo示例】),访问页面,Reviews虽然有三个版本,但是刷新浏览器,三个版本是随机返回。本章内容仍然使用官方样例配置,定义一些自定义路由规则。在这之前最好了解下Istio使用【CRDs】。
创建所有服务的DestinationRule
kubectl apply -f samples/bookinfo/networking/destination-rule-all.yaml
定义V1和V2版本8:2比重,V3不返回
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
Metadata:
name: reviews
spec:
hosts:
- reviews
http:
- route:
- destination:
host: reviews
subset: v1
weight: 80
- destination:
host: reviews
subset: v2
weight: 20
定义如果Header中包含jason用户返回V2版本,否则返回V3版本
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
Metadata:
name: reviews
spec:
hosts:
- reviews
http:
- match:
- headers:
end-user:
exact: jason
route:
- destination:
host: reviews
subset: v2
- route:
- destination:
host: reviews
subset: v3
其它可以参考samples/bookinfo/networking/目录下配置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。