
kube-monkey 是 Netflix 的 Chaos Monkey 在 Kubernetes 集群上的实现。它会随机删除集群中的 Pod,从而鼓励并验证容错服务的开发。
应用通过标签选择加入,终止操作只会在你指定的日期和时间段内发生,并且默认处于 dry run 模式,因此在你明确允许之前不会有任何 Pod 被删除。
📖 文档
helm repo add kubemonkey https://asobti.github.io/kube-monkey/charts/repo
helm repo update
helm install kube-monkey kubemonkey/kube-monkey --namespace kube-system
通过为应用添加标签来选择加入:
metadata:
labels:
kube-monkey/enabled: enabled
kube-monkey/identifier: monkey-victim
kube-monkey/mtbf: "2"
这表示 kube-monkey 处于 dry run 模式,并且该应用预期大约每两个运行日会丢失一个 Pod。请参阅入门指南了解完整流程,包括如何在信任它操作生产命名空间之前先观察一次真实的终止操作。
请参阅如何贡献。欢迎加入 Kubernetes Slack 上的 #kube-monkey 频道。
Apache License v2.0 - 详情请参阅 LICENSE。
| 入门指南 | 从安装到你的第一次终止操作 |
| 工作原理 | 调度时间与终止时间 |
| 选择加入混沌 | 标签与终止模式 |
| 配置 | 所有设置及其默认值 |
| Helm chart | Values 与常见安装方式 |
| 指标 | Prometheus 端点 |
| 通知 | 将攻击事件发送到 Slack 或你自己的 API |