Istio 故障注入 (TrafficeManagement - Fault Injection)
【摘要】
Istio 故障注入与其他在网络层引入错误(例如延迟数据包或者直接杀死 Pod)的机制不同,Istio 允许在应用程序层注入故障。这使得可以注入更多相关的故障,比如 HTTP 错误代码等。
注入故障类型
Istio 可以注入两种类型的故障,而这两种故障都是使用虚拟服务来配置的:
使用故障注入时,不能启用超时和重试通过delay和abort两个字段设置延时...
Istio 故障注入与其他在网络层引入错误(例如延迟数据包或者直接杀死 Pod)的机制不同,Istio 允许在应用程序层注入故障。这使得可以注入更多相关的故障,比如 HTTP 错误代码等。
注入故障类型
Istio 可以注入两种类型的故障,而这两种故障都是使用虚拟服务来配置的:
- 使用故障注入时,不能启用超时和重试
- 通过delay和abort两个字段设置延时和中止两种故障
通过例子来理解
延迟故障注入
描述请求延时,模拟网络、远端服务负载均衡等各种原因导致的失败
fixedDelay:一个必选字段,表示延迟时间,单位可以是毫秒、秒、分钟和小时,至少大于1毫秒
percent:表示延迟故障作用在多少的比例的请求上,通过配置只让部分请求发生故障
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: httpd-vs
spec:
hosts:
- httpd-service
http:
- fault: delay: fixedDelay: 3s percent: 100 route: - destination: host: httpd-service
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
中止故障注入
描述中止故障,模拟服务端异常,给调用的客户端返回预先定义的错误状态码
httpstatus:一个必选字段,表示中止的HTTP状态码
percent:表示延迟故障作用在多少的比例的请求上,通过配置只让部分请求发生故障
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: httpd-vs
spec:
hosts:
- httpd-service
http:
- fault: abort: httpstatus: 500 percent: 100 route: - destination: host: httpd-service
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
文章来源: blog.csdn.net,作者:叶康铭,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/m0_38030719/article/details/108939727
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)