Istio 故障注入 (TrafficeManagement - Fault Injection)

举报
叶康铭 发表于 2021/03/25 22:50:25 2021/03/25
【摘要】 Istio 故障注入与其他在网络层引入错误(例如延迟数据包或者直接杀死 Pod)的机制不同,Istio 允许在应用程序层注入故障。这使得可以注入更多相关的故障,比如 HTTP 错误代码等。 注入故障类型 Istio 可以注入两种类型的故障,而这两种故障都是使用虚拟服务来配置的: 使用故障注入时,不能启用超时和重试通过delay和abort两个字段设置延时...

Istio 故障注入与其他在网络层引入错误(例如延迟数据包或者直接杀死 Pod)的机制不同,Istio 允许在应用程序层注入故障。这使得可以注入更多相关的故障,比如 HTTP 错误代码等。

注入故障类型

Istio 可以注入两种类型的故障,而这两种故障都是使用虚拟服务来配置的:

  1. 使用故障注入时,不能启用超时和重试
  2. 通过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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。