首页 > 其他分享 >6.2K star!推荐一款开源混沌工程测试平台:Chaos Mesh

6.2K star!推荐一款开源混沌工程测试平台:Chaos Mesh

时间:2024-09-02 13:54:01浏览次数:10  
标签:star network -- Chaos 故障注入 Mesh 实验

1、Chaos Mesh 介绍

Chaos Mesh是一个开源的混沌工程平台,旨在帮助用户在生产环境中测试、验证和优化其应用程序的可靠性和稳定性。通过引入故障注入和混沌工程原则,Chaos Mesh可以模拟各种故障场景,如网络延迟、节点故障、磁盘故障等,以帮助用户发现和解决系统中的潜在问题。

6.2K star!推荐一款开源混沌工程测试平台:Chaos Mesh_故障注入

项目地址:

https://gitee.com/mirrors/Chaos-Mesh
https://github.com/pingcap/chaos-mesh

2、Chaos Mesh 特性:

  1. 多样化的故障注入: Chaos Mesh支持多种故障注入方式,包括网络故障、节点故障、磁盘故障等,用户可以根据需求选择合适的故障注入方式进行测试。
  2. 精细化的故障控制: 用户可以通过Chaos Mesh提供的控制台对故障注入进行精细化配置,包括故障类型、注入时间、注入范围等,以便更好地模拟实际生产环境中的故障情况。
  3. 可观测性和监控: Chaos Mesh提供了丰富的监控和可观测性功能,用户可以实时监控故障注入的效果,了解系统的稳定性和可靠性情况。
  4. 容器化支持: Chaos Mesh可以与Kubernetes等容器化平台集成,支持在容器环境中进行混沌工程实验,帮助用户更好地了解容器化应用的稳定性和可靠性。
  5. 灵活的调度策略: 用户可以根据自己的需求定义故障注入的调度策略,包括定时触发、周期性触发等,以便更好地控制故障注入的时机和频率。

总的来说,Chaos Mesh是一个强大的混沌工程平台,可以帮助用户在生产环境中进行系统稳定性测试和故障模拟,从而提高系统的可靠性和稳定性。

6.2K star!推荐一款开源混沌工程测试平台:Chaos Mesh_应用程序_02

3、Chaos Mesh 安装步骤

1、下载 Chaos Mesh: 可以从 Chaos Mesh 的 GitHub 仓库中获取最新版本的安装文件。
2、部署 Chaos Mesh: 可以使用 Helm 进行部署,执行以下命令:

helm repo add chaos-mesh https://charts.chaos-mesh.org
helm install chaos-mesh chaos-mesh/chaos-mesh --namespace=chaos-testing --version=0.12.0

3、验证部署: 等待部署完成后,可以通过以下命令验证 Chaos Mesh 是否成功部署:

kubectl get pods -n chaos-testing

当前实验可支持用于故障注入的主要操作有:

  • 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/Oerrno:模拟文件系统 I/O 错误 。

4、Chaos Mesh 使用步骤

1、创建故障注入实验: 使用 Chaos Mesh 控制台或命令行工具创建故障注入实验,选择故障类型、目标应用程序、注入时间等参数。

比如:创建网络延迟实验: 使用 Chaos Mesh CLI 创建一个网络延迟实验,指定目标应用程序和需要模拟的网络延迟参数。可以使用以下命令创建一个网络延迟实验:

chaosctl create network-delay --time 30s --target myapp --duration 60s
  • --time 参数指定延迟时间,这里设置为 30 秒。
  • --target 参数指定目标应用程序,这里设置为 myapp。
  • --duration 参数指定实验持续时间,这里设置为 60 秒。

2、运行实验: 使用 Chaos Mesh CLI 启动创建的网络延迟实验,实时观察目标应用程序在网络延迟情况下的表现。可以使用以下命令运行实验:

chaosctl start network-delay --name my-network-delay

3、监控和观察: 可以使用 Chaos Mesh 提供的监控和可观测性功能,实时监控网络延迟实验的效果,了解系统的稳定性和可靠性情况。

4、分析结果: 分析实验运行期间收集的数据和日志,评估系统的表现,并根据需要进行调整和优化。

5、调整实验参数: 根据实验结果和反馈,调整故障注入实验的参数,如故障类型、注入时间、注入范围等,以便更好地模拟真实生产环境中的故障情况。

6、结束实验: 在实验持续时间结束后,可以使用以下命令结束实验:

chaosctl stop my-network-delay

通过以上步骤,您可以安装和使用 Chaos Mesh 进行混沌工程实验,帮助提高系统的可靠性和稳定性。请确保在生产环境中谨慎使用混沌工程工具,以避免对系统造成不必要的影响。

技术改变世界! --狂诗绝剑



标签:star,network,--,Chaos,故障注入,Mesh,实验
From: https://blog.51cto.com/u_13865122/11897665

相关文章

  • LIN总线CAPL函数—— 主节点波特率测试(ChkStart_LINMasterBaudrateViolation)
    ......
  • Mesh-gpt(点处理、保存脚本,Transformer)
    小结:1、配置了学长的环境,并编写点处理(旋转、镜像)和保存(由内存numpy数组到shp文件)脚本。2、初步阅读mesh-gpt论文,思考Transformer网络架构(翻译模型和补全模型的训练区别)环境配置pipinstalltorch==2.1.2torchvision==0.16.2torchaudio==2.1.2--index-urlhttps://downloa......
  • Open3D mesh Taubin滤波
    目录一、概述1.1原理1.2实现步骤1.3应用场景二、代码实现2.1关键函数参数详解返回值2.2完整代码三、实现效果3.1加入噪声的mesh3.2Taubin迭代10次3.3Taubin迭代100次Open3D点云算法汇总及实战案例汇总的目录地址:Open3D点云算法与点云深度学习案例汇总(长期更新)-......
  • Linux Debian12安装flameshot火焰截图工具
    一、LinuxDebian12安装flameshot打开终端,运行:sudoaptinstallflameshot安装成功后,使用下面命令查看帮助信息:flameshot-h其中flameshotlauncher命令可以打开启动器。二、使用flameshot截图方法打开终端,输入下面命令:flameshotlauncher打开启动器可以进行新的截......
  • Linux Debian12使用flameshot或gnome-screenshot和ImageMagick垂直合并多张图片后组成
    在发布博客,有时需要滚动截长图,虽然在windows系统有滚动截长图的工具,例如:FastStoneCapture等,但是LinuxDebian系统,这种滚动截长图的工具没有找到合适的。经过自己筛选验证,发现LinuxDebian12使用flameshot或gnome-screenshot截取多张图片,再使用和ImageMagick图像处理工具进行垂直合......
  • Android源码bta_gattc_start_discover剖析
    1.前言当BLE设备作为GATT客户端(GATTClient)连接到GATT服务器(GATTServer)后,它通常需要执行发现过程以了解服务器的GATT数据库结构。这包括服务(Services)、特征(Characteristics)和描述符等。bta_gattc_start_discover 函数正是用于启动这一过程的。2.工作流程连接建立:首先,GAT......
  • WPF thumb Drag DragDelta,DragStarted,DragCompleted
    //xaml<Windowx:Class="WpfApp302.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......
  • Launcher start App WINDOWING_MODE_FREEFORM
    WINDOWING_MODE_FREEFORMstartApp核心思路:这个windowmode需要从FullScreen--->Freeform,需要在startActivity时候携带相关相关参数,把windowmode和launchBounds进行设置。AndroidT+++b/frameworks/base/core/java/android/app/Instrumentation.java@@-1798,6+1798,7......
  • [Paper Reading] One-Stage 3D Whole-Body Mesh Recovery with Component Aware Trans
    One-Stage3DWhole-BodyMeshRecoverywithComponentAwareTransformerlink时间:CVPR2023机构:粤港澳大湾区数字经济研究院(IDEA)&&清华大学深圳国际研究生院TL;DR使用一个纯Transformer结构模型(名为OSX)直接预测Body/Hand/Face的参数,避免了之前各模型分开预测后融合复......
  • 优化拓展Camstar原生弹窗提示,解决原生消息提示无效或被覆盖的场景
    1.参考代码如下 1usingCamstar.WebPortal.PortalFramework;2usingSystem;3usingSystem.Web.UI;45namespaceCamstar.WebPortal.WebPortlets.Shopfloor6{7///<summary>8///優化拓展Camstar原生消息彈窗提示,解決原生消息提示無效或被覆蓋......