当前位置: 首页 > 软件库 > 云计算 > 云原生 >

kubernetes-pod-chaos-monkey

Randomly delete pods in a given namespace
授权协议 MIT License
开发语言 SHELL
所属分类 云计算、 云原生
软件类型 开源软件
地区 不详
投 递 者 邹山
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Kubernetes Pod Chaos Monkey

This repository contains a Dockerfile and associated Kubernetes configuration for a Deployment that will randomly delete pods in a given namespace. This is implemented in Bash mostly because I'm writing it for a lightning talk.

An image built from the Dockerfile in this repository is available on Docker Hub as jnewland/kubernetes-pod-chaos-monkey.

Configuration

A few environment variables are available for configuration:

  • DELAY: seconds between selecting and deleting a pod. Defaults to 30.
  • NAMESPACE: the namespace to select a pod from. Defaults to default.

Example Kubernetes config is included at config/kubernetes/production/deployment.yaml

Example

$ kubectl apply -f config/kubernetes/production/deployment.yaml
deployment "kubernetes-pod-chaos-monkey" created
$ kubectl get pods | grep chaos
kubernetes-pod-chaos-monkey-3294408070-6w6oh   1/1       Running       0          19s
$ kubectl logs kubernetes-pod-chaos-monkey-3294408070-6w6oh
+ : 30
+ : default
+ true
+ xargs -t --no-run-if-empty kubectl --namespace default delete pod
+ head -n 1
+ shuf
+ tr ' ' '\n'
+ kubectl --namespace default -o 'jsonpath={.items[*].metadata.name}' get pods
kubectl --namespace default delete pod dd-agent-3hw6w
pod "dd-agent-3hw6w" deleted
+ sleep 30

License

MIT

  • 一、前言 ChaosBlade 是一款遵循混沌工程实验原理,建立在阿里巴巴近十年故障测试和演练实践基础上,并结合了集团各业务的最佳创意和实践,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具。 Chaosblade 可直接编译运行,cli 命令提示使执行混沌实验更加简单。目前支持的演练场景有操作系统类的 CPU、磁盘、进程、网络,Java 应用类的 Dubbo、MySQL、S

  • 很少有计算平台(即使是功能强大且规模巨大的计算平台)也可以满足所有需求。 虽然Kubernetes开箱即用很有用,但还远未完成。 您总是可以找到默认Kubernetes功能集不足的用例或需求,例如数据库支持,或者只是忽略而已,例如连续交付。 这就是更广泛的Kubernetes社区出现的地方,它为容器编排框架提供了附加组件,扩展和赠品。 这是我们找到的11个顶级Kubernetes最佳同伴。 有些可

  • 根据Rob Szumski的presentation Kubernetes operator是把专家平常的经验,流程,比如写在wiki里面的诀窍,使用Operator来固化。这些经验就会集成在Operator软件里面。 换句话说,这个叫做Best practices. 也是软件工程里面把logic封装起来的一个例子。It’s a fancy script. 比如failover,用软件来建立模型。

 相关资料
  • Kubernetes中需要考虑三个级别的度量集合—节点、Pod和在Pod中运行的应用程序。 对于节点和应用程序指标,我有非常有效的解决方案,但我仍停留在pod指标上。 我尝试过cAdvisor和Kube状态指标,但它们都没有给我想要的东西。Kube状态指标仅提供已知的信息,例如pod CPU限制和请求。cAdvisor不会将pod标签插入容器名称,因此我无法知道哪个pod行为不端。 给定一个pod

  • Chaos 是一个基于 Linux 平台, reactor 模式的网络事件库, 目前仅支持 TCP 传输协议, 仅在 x86_64下编译, 并遵循3-clause BSD 开源协议. 在使用上, 可以说它很像 boost asio, 可能是由于我对 boost asio 的接口设计很有爱吧, 而且对于 boost asio 在异步编程方面的思想, 我个人也比较认同, 但至今我也没有仔细阅读过 bo

  • 我的密码是137。 提前致谢

  • 我已经使用helm chart安装了普罗米修斯,所以我列出了4个部署文件: null 现在一个新的pod被创建和崩溃,如果我删除部署文件,那么以前的pod也被删除。那么我可以为那个crashLoopBackOff吊舱做些什么呢? kubectl输出截图

  • SocketException:在简单的Kubernetes pod中无法访问网络(连接失败),它可以卷曲到Internet。

  • 当我尝试使用读取此pod的日志时,它不会返回任何内容。如何查看日志以了解状态为“挂起”的原因?