【问题标题】:How to simulate a pod failure in kubernetes如何在 Kubernetes 中模拟 Pod 故障
【发布时间】:2020-08-28 08:44:03
【问题描述】:

为了在多 pod 系统上进行一些稳健性测试,我需要以某种方式模拟 pod 故障。 我不想在部署中使用缩减,因为它不太现实。 在我的情况下,删除 pod 也不是很实用,因为 pod 会在短时间内恢复。

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

【问题讨论】:

    标签: kubernetes robustness


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        【解决方案3】:

        也许你可以强调内存使用,这样它就会因为 OOM 问题而被杀死。并尝试杀死容器内运行的主进程,该进程也将重新启动 pod。我建议的最后一个选项是配置错误的 liveness 和 readiness probe。

        【讨论】:

          猜你喜欢
          • 2019-11-12
          • 1970-01-01
          • 2022-12-09
          • 1970-01-01
          • 2021-02-03
          • 2014-11-28
          • 2010-11-24
          • 2015-04-03
          • 1970-01-01
          相关资源
          最近更新 更多