如何在 kubernetes 中模拟 pod 故障

How to simulate a pod failure in kubernetes

为了在多 pod 系统上进行一些稳健性测试,我需要以某种方式模拟 pod 故障。 我不想在部署中使用缩减,因为它不太现实。 删除 pods 对我来说也不是很实用,因为 pods 很快就会回来。

我检查了以下回复: How to simulate Power Failure In Kubernetes 而且不符合我的需求。 有什么建议吗?

为了模拟网络问题,我建议关闭其中一个节点或弄乱它的 IP 地址,这样它就无法访问了。

另一种方法是模拟 max out resources 。你可以 exec 到一个 pod 和 运行 一些会消耗大量资源(CPU,RAM)的东西,同时为它们设置限制。或者,您可以将限制设置为低于实际使用量。

您还可以设置探测器并模拟它们的故障。失败 Liveness 探测将强制重新启动 pod。

最后,您还可以查看Chaos Controller。它为混沌测试提供控制器并支持 irch 集故障场景。

您可以查看这个名为 Chaos Mesh 的工具。

这有 Pod 故障、网络故障、创建压力、IO 混乱等选项。混沌网格是专门为 Kubernetes 及其开源设计的。

还有另一个很棒的工具,叫做 Litmus。这也是专门为kubernetes设计的。

也许你可以着重强调内存使用情况,这样它就会因为 OOM 问题而被杀死。并尝试终止容器内的主进程 运行,这也会重新启动 pod。和我建议的最后一个选项配置错误的活性和就绪探测器。