一、虚拟服务Virtual Service
将一个应用的服务同时存在两个或两个版本以上的应用服务,然后利用路由规则,将流量转到不同版本的应用中。
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: v1
虚拟服务名称为 reviews,根据请求头:end-user为jason的请求,转发到v2 的 reviews,其余的转发到v1 的 reviews
目的规则 destinationrules,主要用于定义别人访问它的策略,比如是随机或是轮询
二、gateway 与虚拟服务关系
三、服务条目原理
可以使用一个服务条目将一个条目添加到Istio内部维护的服务注册表中,再添加服务条目后,envoy代理可以向服务发送流量,就像它是你网格中的服务一样。配置服务条目允许管理网格外部运行的服务的流量,类似定义一个k8s service,自定义一个enpoint 。
用途:
1、重定向,转发流量
2、定义重试超时,故障注入策略
3、运行一个服务网格在虚拟机中
四、网络可靠性和测试
1、超时
2、重试
3、断路器
4、故障注入
网友评论