注入HTTP延迟故障
我们对ratings服务注入7s的延迟,当jason用户访问时,有7s的延迟故障
定义VirtualService
apiVersion: networking.istio.io/v1alpha3 |
我们登录jason用户,刷新页面发现,请求完成大概时6s多
根据官方文档所说,reviews和ratings服务间的超时时长是10s,但是productage和reviews之间只有3s的超时时长,再加上1次重试,一共6s,也就是说整个完整的请求,一旦超过6s就会返回超时错误,从上图也可以看出,页面确实返回了超时,而且图片右半部分可以看出整个请求是6s完成的。
注:有的时候发现不是所有的请求都在6s完成,有的时候是能够很快返回的,具体原因是因为我们是对ratings注入7s的故障的,在bookinfo部署那篇文章,一开始我们有提到,reviews只有v2、v3版本是调用ratings的,如果请求经过v1版本的reviews,那么他不会调用ratings,也就不会有这个故障。
注入HTTP abort故障
为用户jason创建一个故障中止规则
定义VirtualService
apiVersion: networking.istio.io/v1alpha3 |
我们登录jason用户,刷新页面,ratings显示 Ratings service is currently unavailable
我们查看v2和v3版本reviews的log,v1版本不调用ratings,所有不存在abort故障问题
kubectl log reviews-v2-685867965b-njhzz -c reviews |
可以看出返回的日志全是500状态,说明故障注入成功了。