扫码阅读
手机扫码阅读

K8S下所用的Istio就是检验微服务稳定性的混沌工程开源工具

268 2023-08-25

在K8S上部署的微服务,经常会依赖不受你控制的其他微服务。当两者之间的HTTP交互出现延迟或错误后,你的微服务能否按预期正常工作?应该做一个故障注入实验来检验一下。如果你在K8S上使用了Istio,那么恭喜你,你已经拥有了简单易用的混沌工程开源工具。

官网

https://github.com/istio/istio

一句话介绍

虽然Istio主要作为K8S服务网格,用于连接、保护、控制和观察服务,但在其流量管理功能中也支持故障注入。

关键特性

Istio 可以将HTTP延迟或 HTTP 错误注入任何虚拟服务之间的网络流量中。实验以 Kubernetes manifest形式定义。可以使用现有的 Istio 功能(例如虚拟服务和路由规则)来选择故障注入目标。还可以使用运行状况检查和 Envoy 统计数据来监控故障注入对系统的影响。

故障注入实验利用了 Istio 在网络中的地位来执行实验,而无需添加任何额外的混沌工程工具或功能。

适用平台

K8S

适用场景

如果已经使用了 Istio,那么这可以直接用它在集群上运行混沌实验,而无需部署或学习其他工具。否则,仅仅为了这两种故障注入功能就部署 Istio ,就不值了。

优势

故障注入功能原生内置于 Istio 中。无需额外设置。

实验以简单的 Kubernetes manifest形式表现。

劣势

只有HTTP延迟或 HTTP 错误这两种实验类型。

如果没有使用 Istio,仅仅为了这个故障注入功能而使用它就不值得了。

实验无法在主机上安排和执行,无法深入定制,也无法在 Istio 之外使用。

开源许可证

Apache-2.0 license

Github点赞数

33.5k

最近发布日期与版本

2023.07: Istio 1.18.2

所属项目

CNCF云原生计算基金会项目

参考资料

Istio故障注入官方文档:https://istio.io/latest/docs/tasks/traffic-management/fault-injection/

Istio故障注入实例:https://istiobyexample.dev/fault-injection/


本文参考了Gremlin公司的文章Comparing Chaos Engineering tools https://www.gremlin.com/community/tutorials/chaos-engineering-tools-comparison/#istio

在K8S下检验微服务稳定性,还有什么好用的开源工具?你还希望我聊有关混沌工程的其他什么新话题?欢迎在评论区留言。我会仔细阅读每一条留言。期待听到你的声音。

如果觉得本文对你有帮助,欢迎*点赞*,点击在读,并*转发*给其他志同道合的小伙伴。

企业生意好,系统运行稳。你所阅读的文章,来自“吾真本说混沌工程”知乎专栏。

想要了解更多,点击 查看原文

用好企业软件系统稳定性与混沌工程相关技术和过程。

35 篇文章
浏览 13.2K
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线