目录:
Read Me 读我https://blog.csdn.net/kamputer/article/details/124402101
Chaos Mesh Overview CM概述https://blog.csdn.net/kamputer/article/details/124403153Basic Features 基本功能https://blog.csdn.net/kamputer/article/details/124404605
这篇文档描述了CM的基本特性,包括错误注入,混沌工作流,可视化操作和安全保证
Quick Start 快速开始https://blog.csdn.net/kamputer/article/details/124408903这篇文章介绍如何在测试或本地环境开始CM
Install Chaos Mesh using Helm 使用Helm安装CMhttps://blog.csdn.net/kamputer/article/details/124408935Install Chaos Mesh Offline 离线安装CMhttps://blog.csdn.net/kamputer/article/details/124408991Uninstall Chaos Mesh 卸载CMhttps://blog.csdn.net/kamputer/article/details/124411384Manage User Permissions 管理用户许可https://blog.csdn.net/kamputer/article/details/124411400Configure namespace for Chaos experiments 为混沌测试配置命名空间https://blog.csdn.net/kamputer/article/details/124411412Define the Scope of Chaos Experiments 定义混沌实验范围https://blog.csdn.net/kamputer/article/details/124411444Define Scheduling Rules 定义调度规则https://blog.csdn.net/kamputer/article/details/124411460Run a Chaos Experiment 运行一个混沌测试https://blog.csdn.net/kamputer/article/details/124411482Inspect Results of Chaos Experiments 检查混沌实验结果https://blog.csdn.net/kamputer/article/details/124411505Create Chaos Mesh Workflow 创建CM工作流https://blog.csdn.net/kamputer/article/details/124411471
Chaos Mesh is a Cloud Native Computing Foundation (CNCF) hosted project. It is a cloud-native Chaos Engineering platform that orchestrates chaos on Kubernetes environments. At the current stage, it has the following components:
- Chaos Operator: the core component for chaos orchestration. Fully open sourced.
- Chaos Dashboard: a Web UI for managing, designing, monitoring Chaos Experiments.
See the following demo video for a quick view of Chaos Mesh:
Chaos Mesh是CNCF主持的项目,它是一个云原生混沌工程平台,用于编排K8s环境下的混沌。在当前阶段,它有以下模块:
Chaos Operator:混沌编排的核心组件,完全开源
Chaos Dashboard: 一个管理,设计,监控混沌实验的图形界面
可以通过下面的演示视频快速了解Chaos Mesh
Chaos Operator
Chaos Operator injects chaos into the applications and Kubernetes infrastructure in a manageable way, which provides easy, custom definitions for chaos experiments and automatic orchestration. There are three components at play:
Controller-manager: used to schedule and manage the lifecycle of CRD objects.
Chaos-daemon: runs as daemonset with privileged system permissions over network, Cgroup, etc. for a specific node.
Chaos Operator
Chaos Operator以一种可管理的方式将混沌引入应用和K8s系统。它提供了一种简单的,可定制的和自动编排的方式。在运行时有三个组件
Controller-manager:用于调度和管理CRD对象生命周期
Chaos-daemon: 在一个特定的节点上以带有特权的daemonset的形式运行在网络,Cgroup等之上
Chaos Operator uses CustomResourceDefinition (CRD) to define chaos objects. The current implementation supports a few types of CRD objects for fault injection, namely DNSChaos, PodChaos, PodIOChaos, PodNetworkChaos, NetworkChaos, IOChaos, TimeChaos, StressChaos, and KernelChaos, which correspond to the following major actions (experiments):
- pod-kill: The selected pod is killed (ReplicaSet or something similar may be needed to ensure the pod will be restarted).
- pod-failure: The selected pod will be unavailable in a specified period of time.
- container-kill: The selected container is killed in the selected pod.
- netem chaos: Network chaos such as delay, duplication, etc.
- network-partition: Simulate network partition.
- IO chaos: Simulate file system faults such as I/O delay, read/write errors, etc.
- time chaos: The selected pod will be injected with clock skew.
- cpu-burn: Simulate the CPU of the selected pod stress.
- memory-burn: Simulate the memory of the selected pod stress.
- kernel chaos: The selected pod will be injected with (slab, bio, etc) errors.
- dns chaos: The selected pod will be injected with dns errors, such as error, random.
chaos operator使用CRD来定义混沌对象。当前的实现提供了一些CRD对象用于错误注入,例如DNS混乱,Pod混乱,Pod IO混乱,Pod网络混乱,网络混乱,IO混乱,时间混乱,压力混乱,和内核混乱。这些都读音下面的主要行动(实验):
杀死pod:选中的pod被杀死(需要ReplicaSet或者类似的什么东西以保证pod会被重启)
pod错误:选中的pod在指定的一段时间不可用
杀死容器:选中的pod里的选中的容器会被杀死
netem混乱:网络混乱,例如延迟,重复等
io混乱:模拟文件系统错误,例如IO延迟,读写错误等
时间混乱:选中的pod将被注入错误的时钟
cpu燃烧:模拟选中的pod对应的cpu受到压力
内存燃烧:模拟选中的pod对应内存受到压力
内核错误:选中的pod将被注入错误的内核(slab,bio等)错误
dns混乱:选中的pod将被注入dns错误,例如错误,随机
Quick start
See Chaos Mesh Docs.
Adopters
See ADOPTERS.
Blogs
Blogs on Chaos Mesh design & implementation, features, chaos engineering, community updates, etc. See Chaos Mesh Blogs. Here are some recommended ones for you to start with:
- Chaos Mesh 2.0: To a Chaos Engineering Ecology
- Chaos Mesh - Your Chaos Engineering Solution for System Resiliency on Kubernetes
- Run Your First Chaos Experiment in 10 Minutes
- How to Simulate I/O Faults at Runtime
- Simulating Clock Skew in K8s Without Affecting Other Containers on the Node
- Building an Automated Testing Framework Based on Chaos Mesh and Argo
Contributing
See the contributing guide and development guide.
Community
Please reach out for bugs, feature requests, and other issues via:
-
Following us on Twitter @chaos_mesh.
-
Joining the #project-chaos-mesh channel in the CNCF Slack workspace.
-
Filing an issue or opening a PR against this repository.
Community meeting
On the fourth Thursday of every month (unless otherwise specified), the Chaos Mesh community holds a monthly meeting by video conference to discuss the status of Chaos Mesh.
Quick links:
Community blogs
- Grant Tarrant-Fisher: Integrate your Reliability Toolkit with Your World, Part 2
- Yoshinori Teraoka: Streake: Chaos Mesh によるカオスエンジニアリング
- Sébastien Prud'homme: Chaos Mesh : un générateur de chaos pour Kubernetes
- Craig Morten
- Ronak Banka: Getting Started with Chaos Mesh and Kubernetes
- kondoumh: Kubernetes ネイティブなカオスエンジニアリングツール Chaos Mesh を使ってみる
- Vadim Tkachenko: ChaosMesh to Create Chaos in Kubernetes
- Hui Zhang: How a Top Game Company Uses Chaos Engineering to Improve Testing
- Anurag Paliwal
- Pavan Kumar: Chaos Engineering in Kubernetes using Chaos Mesh
- Jessica Cherry: Test your Kubernetes experiments with an open source web interface
- λ.eranga: Chaos Engineering with Chaos Mesh
- Tomáš Kubica: Kubernetes prakticky: zlounství s Chaos Mesh a Azure Chaos Studio
- mend: Chaos Meshで何ができるのか見てみた
Community talks
- Twain Taylor: Chaos Mesh Simplifies & Organizes Chaos Engineering For Kubernetes
- Saiyam Pathak
Media coverage
- CodeZine: オープンソースのカオステストツール「Chaos Mesh 1.0」、一般提供を開始
- @IT atmarkit: Kubernetes 向けカオスエンジニアリングプラットフォーム「Chaos Mesh 1.0」が公開
- Publickey: Kubernetes の Pod やネットワークをわざと落としまくってカオスエンジニアリングのテストができる「Chaos Mesh」がバージョン 1.0 に到達
- InfoQ: Chaos Engineering on Kubernetes : Chaos Mesh Generally Available with v1.0
- TechGenix: Chaos Mesh Promises to Bring Order to Chaos Engineering
FAQs
See FAQs.
Roadmap
See ROADMAP.
License
Chaos Mesh is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Trademark
Chaos Mesh is a trademark of The Linux Foundation. All rights reserved.