Project reference ↗

Chaoskube tests how an application responds when one of its running containers disappears. It periodically chooses a Kubernetes Pod and deletes it, letting a team observe whether replicas take over and replacements start as expected. This is useful for checking a specific recovery assumption under controlled conditions. It is a pod-termination experiment, not a simulation of every outage, and its scope must be checked before enabling real deletions.

Deployment and operating notes

The upstream chaoskube README describes periodic random pod termination and shows dry-run operation, namespace and label filters, minimum age and quiet-time controls. That establishes the intended failure model. The old page’s example cannot prove that a different storage system or application remains reliable, and killing a pod does not simulate every node, network or data-loss failure.

Define one hypothesis before enabling termination, such as preserving a request success rate while a replica disappears. Use an explicit allowlist of test namespaces or labels, confirm the candidates in dry-run output and keep an immediate stop mechanism. Review the controller’s RBAC. Chaoskube deletes pods through the Kubernetes Pod deletion API, so PodDisruptionBudgets do not prevent its terminations; do not rely on a disruption budget to limit the experiment. Observe application errors, recovery time and data correctness, rather than only pod readiness. Begin with a disposable workload and expand only after the result is understood. Pin the chosen release and verify its Kubernetes client compatibility; this review did not execute a chaos experiment against a production cluster.

Historical upstream link check · 2026-10-09

The recorded upstream address responded successfully (HTTP 200) on 2026-10-09. GitHub confirms that helm/charts is archived: this is a historical chart distribution, not evidence that the application itself is retired. Link availability does not certify the historical installation instructions or current security support.

Source for this check ↗

Website availability is separate from project, chart and image support. Use the current guidance and primary sources on this page to assess the distribution.

The original record

Historical Kubedex content

Preserved for context. Commands, versions, prices and results below reflect the original research.

Chaoskube is an open source Chaos Testing tool. chaoskube periodically kills random pods in your Kubernetes cluster.Chaos Engineering is the discipline of proving the reliability of any system by causing “chaos”. The work ‘Chaos’ means the state of confusion or failure caused due to unexpected reason.

Failures can be caused due to:

  • Power outages.
  • Software bugs.
  • Human Error.

Since failure is unavoidable.

Why not deliberately introduce failure to ensure the system can deal with the failure?
Chaoskube is one such tool, which can be used to introduce pod failures on Kubernetes Cluster.

Overview of Chaoskube:

  • Chaoskube is an open source Chaos Testing tool.
  • Written in GO language.
  • Can induce pod/controller failures on K8s Cluster.
  • Can kill pods by specifying the labels, namespaces.
  • Simple and easy to run.

 

Induce controller failure using Chaoskube:

  • Induce failure on pod with label ‘openebs/controller=jiva-controller’ for duration of 60 seconds with interval of 20 seconds, which means it will induce controller pod
    failure for every 20 seconds for 3 times.
  • Observe that percona application pod with liveness probe is still running after inducing openebs controller pod failure using chaoskube. Hence, the system is reliable
    after causing ‘Chaos’.

Sources & further reading

  1. Chaoskube upstream controls
  2. Recovered historical source (Common Crawl index)
  3. Chaoskube Pod deletion implementation
  4. Kubernetes disruption budget bypass behavior

Spotted something that needs another look?

Help improve this page →