当前位置: 首页 > 软件库 > 开发工具 > 测试工具 >

Chaos Mesh

在 Kubernetes 上进行混沌测试
授权协议 Apache-2.0
开发语言 Google Go
所属分类 开发工具、 测试工具
软件类型 开源软件
地区 国产
投 递 者 仉宪
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Chaos Mesh 是一个云原生的混沌工程(Chaos Engineering)平台,可在 Kubernetes 环境中进行混沌测试。

Chaos Mesh 主要包含两大组件:

  • Chaos Operator:核心组件
  • Chaos Dashboard:可视化面板,显示混沌实验对系统在线服务的影响

Chaos Operator 以一种可管理的方式将故障注入到应用程序和 Kubernetes 基础结构中,从而为混沌实验和自动编排提供了简单的自定义场景。主要包含三个组成部分:

  • Controller-manager:用于计划和管理 CRD 对象的生命周期
  • Chaos-daemon:在特定节点上以特权系统权限作为守护进程运行网络与 Cgroup 等
  • Sidecar:一种特殊类型的容器,它由 webhook-server 动态注入到目标 Pod 中,可用于劫持应用程序容器的 I/O。

Chaos Operator 使用自定义资源定义(Custom Resource Definition,CRD)定义混沌对象。当前实现支持用于故障注入的 CRD 对象 PodChaos、NetworkChaos、IOChaos 和 TimeChaos,它们对应于以下主要操作:

  • pod-kill:模拟 Kubernetes Pod 被 kill。
  • pod-failure:模拟 Kubernetes Pod 持续不可用,可以用来模拟节点宕机不可用场景。
  • network-delay:模拟网络延迟。
  • network-loss:模拟网络丢包。
  • network-duplication:模拟网络包重复。
  • network-corrupt:模拟网络包损坏。
  • network-partition:模拟网络分区。
  • I/O delay:模拟文件系统 I/O 延迟。
  • I/O errno:模拟文件系统 I/O 错误 。
  • This document describes how to install Chaos Mesh offline. Prerequisites​ Before installing Chaos Mesh, make sure that Docker is installed and the Kubernetes cluster is deployed in the offline environ

  • Install Chaos Mesh using Helm (Recommended for Production Environments) This document describes how to install Chaos Mesh in the production environment. Prerequisites​ Before installing Chaos Mesh, ma

  • Quick Start (Test Recommended) 快速开始(建议用于测试) This document describes how to quickly start Chaos Mesh in a test or local environment. 这篇文章介绍如何在测试或本地环境开始CM note In this document, the Chaos Mesh installat

  • This document describes how to simulate HTTP faults by creating HTTPChaos experiments in Chaos Mesh. HTTPChaos introduction​ HTTPChaos is a fault type provided by Chaos Mesh. By creating HTTPChaos exp

  • 介绍 Chaos mesh 是云原生时代的系统高可用演练平台,基于 Chaos mesh 可以无缝衔接 K8S,精准全面的覆盖问题场景,发现问题,为业务系统高可用保驾护航。 环境准备 操作系统:Mac  CPU:intel core i5 内存:8G  硬盘:>50G 部署架构 Virtual Box 建立 3 台虚拟机 3台虚拟机分别为:master、worker-1、worker-2 mast

  • This document introduces how to uninstall Chaos Mesh, including uninstall Chaos Mesh with Helm and uninstall Chaos Mesh manually. It's also very helpful to manually purge Chaos Mesh installation from

  • 使用 k8s JVM故障 Linux内核版本 Linux 系统内核必须为 4.1 及以上版本。 不然会一直失败,可以从Chaos Mesh dashboard前端看到。 对native方法注入故障无效 实测对Thread.sleep(Long) 注入故障无效,猜测是因为对native方法无效,大概因为是由其它语言实现? 定义抛出异常的格式 抛出的自定义异常,例如:‘java.io.IOExcept

  • 总目录 读我 关于CM CM介绍:这篇文档介绍ChaosMesh的概念,用例,核心优势和架构 基本功能:这篇文档描述了CM的基本特性,包括错误注入,混沌工作流,可视化操作和安全保证 安装&部署 快速开始:这篇文章介绍如何在测试或本地环境开始CM 使用Helm安装:这篇文章讲如何在生产环境安装CM 离线安装:这份文档讲如何离线安装CM 卸载CM:这篇文档讲如何卸载CM,包括使用helm卸载或手工卸载

  • This document describes how to simulate network faults using NetworkChaos in Chaos Mesh. NetworkChaos introduction​ NetworkChaos is a fault type in Chaos Mesh. By creating a NetworkChaos experiment, y

  • TimeChaos Introduction​ Chaos Mesh provides the TimeChaos experiment type. You can use this experiment type to simulate a time offset scenario. This document describes how to create a TimeChaos experi

  • This document describes how to create IOChaos experiments in Chaos Mesh. IOChaos introduction​ IOChaos is a type of fault in Chaos Mesh. By creating an IOChaos experiment, you can simulate a scenario

 相关资料
  • 一段远古时期的实习面试经历,对于当时刚开始转行的我来说是一种认可。想要转行的同学可以找这种门槛较低的实习试试,虽然进去“搬砖”,但可以让简历更好看一些~下一份实习就能找到更好的! —— 1.自我介绍。 2.介绍公司的业务。 (这是一个内容平台,主要分享名人成功的底层逻辑和方法论,做一些知识性的输出。) 3.你写的都是偏情感生活类文章,那么对于哲科类的文章有什么看法? (因为是内容型平台,所以对于内

  • 我的团队开发了一个kubernetes集群。我们已经使用< code>kubectl命令行对其进行了手动测试。这些测试用例涉及到,例如: < li >豆荚 < li >服务、负载平衡器等。 < li >部署 < li >水平窗格缩放 < li >回滚部署 < li >入口控制器 Helm-kubernetes的包装经理 < li >持久性卷和持久性卷声明。 < li>DNS 上述手动测试用例的链接

  • 我已经安装了火花图表在我的k8s集群掌舵,我有3个豆荚运行1个主和2个执行,但仍然能够提交火花作业...在“提交应用程序”一节https://github.com/bitnami/charts/tree/master/bitnami/spark中提到我们可以使用。/bin/spark-submit--class org.apache.spark.examples.sparkpi--master s

  • 我有kubernetes集群和pod,它们是集群IP类型。如果要运行集成测试ip:10.102.222.181或endpoint:10.244.0.157:80,10.249.5.243:80,则哪个ip是正确的ip

  • 问题内容: 是否可以对Android系统进行压力测试,以检查如果可用内存减少(以及因此杀死了哪些应用程序,…)会发生什么情况。 我目前有一个测试应用程序,该应用程序会定期在向量中分配10MB。但是,抛出OutOfMemory异常达到500MB。但是被测系统没有受到足够的影响。我需要获取更多的内存。 是否有任何已知的库/程序要使用,或者有其他任何方法可以使应用程序使用超过500MB的内存。 补充:我

  • 我在Kubernetes集群的Docker映像中运行Tomcat上的Java webapp。服务运行良好,我正试图设置活跃度和准备度探测器。 我没有找到关于最佳实践wrt、Tomcat和Kubernetes的具体文档,但我认为文档后面的HTTP GET请求是合适的,如下所示: 相关问题似乎是由于启动时间长于参数中设置的时间(例如this),就像错误消息所指示的那样。然而,在这种情况下,Tomcat

  • 这是org.csanchez.jenkins.plugins.Kubernetes日志。我已经上传到wetransfer->we.tl/t-zisbftkzrk 我已经读过很多关于这个问题的文章,并且已经用这个JAVA_OPTS配置了jenkins,但是问题没有得到解决。 Kubernetes插件配置有: null

  • 我已经创建了一个测试套件,使用数据提供商数据工厂和我的TestNG文件发送浏览器详细信息作为参数。在testNG XML中,我调用我的数据工厂类。我也在使用浏览器堆栈进行测试(尽管我怀疑这与我遇到的问题有关) 当我不向testng文件添加parrelell=“true”时,测试运行没有任何问题。 我有一种感觉,这与每个浏览器使用的是同一个驱动程序有关,但我目前无法解决这个问题。 感谢您的指导。 这