Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: merge zh docs #135

Merged
merged 16 commits into from
Oct 9, 2021
  •  
  •  
  •  
15 changes: 7 additions & 8 deletions blog/2021-09-28-chaos-mesh-hacktoberfest-2021.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,34 @@ tags: [Chaos Mesh, Chaos Engineering, open source]

![Chaos Mesh x Hacktoberfest 2021](/img/chaos-mesh-hacktoberfest-2021.png)

Happy [Hacktoberfest](https://hacktoberfest.digitalocean.com/) 2021! We are excited to announce that [Chaos Mesh](https://github.com/chaos-mesh) will be participating in the 8th annual Hacktoberfest hosted by DigitalOcean. During the month of October, anyone is welcome to join in on this global celebration of open-source by contributing changes, and earn one of 55,000 custom-made Hacktoberfest T-shirts!
Happy [Hacktoberfest](https://hacktoberfest.digitalocean.com/) 2021! We are excited to announce that [Chaos Mesh](https://github.com/chaos-mesh) will be participating in the 8th annual Hacktoberfest hosted by DigitalOcean. During the month of October, anyone is welcome to join in on this global celebration of open-source by contributing changes, and earn one of 55,000 custom-made Hacktoberfest T-shirts!

<!--truncate-->

## What is Chaos Mesh?

Chaos Mesh is a cloud-native Chaos Engineering platform that orchestrates chaos in Kubernetes environments. With Chaos Mesh, you can test your system's resilience and robustness on Kubernetes by injecting all types of faults into Pods, network, file system, and even the kernel. Chaos Mesh is currently a CNCF Sandbox project.
Chaos Mesh is a cloud-native Chaos Engineering platform that orchestrates chaos in Kubernetes environments. With Chaos Mesh, you can test your system's resilience and robustness on Kubernetes by injecting all types of faults into Pods, network, file system, and even the kernel. Chaos Mesh is currently a CNCF Sandbox project.

More importantly, Chaos Mesh fully embraces open source: ever since open sourced 1.5 years ago, the project has gained more than 4k stars with over 1.2k commits from 140+ contributors all over the world. It is through the open-source world that we are able to collaborate with an amazing community. Simply put, Chaos Mesh grew alongside its community and would not be where it is today without the dedication and commitment to open source, which is why we are more than proud to be back again in Hacktoberfest!

## Why Hacktoberfest?

If you are interested in chaos engineering, open-source, trying to come up with a project for school, or looking into a potential career path as an SRE/DevOps engineer, then this is your golden opportunity: throughout Hacktoberfest, anyone, regardless of background and experience, can join and contribute changes - big or small. So grab the chance and learn about how to make a system more resilient! The Chaos Mesh community welcomes you with open arms and is more than willing to work and share feedback with you. Your contributions can make a big difference!
If you are interested in chaos engineering, open-source, trying to come up with a project for school, or looking into a potential career path as an SRE/DevOps engineer, then this is your golden opportunity: throughout Hacktoberfest, anyone, regardless of background and experience, can join and contribute changes - big or small. So grab the chance and learn about how to make a system more resilient! The Chaos Mesh community welcomes you with open arms and is more than willing to work and share feedback with you. Your contributions can make a big difference!

## Quick start

Here’s a quick run-through of how to be part of Hacktoberfest 2021, and you can check out a detailed how to be part of Hacktoberfest on the [official website](https://hacktoberfest.digitalocean.com/resources/participation):

1. Sign up for [Hacktoberfest](https://hacktoberfest.digitalocean.com/) anytime between Oct 1 and Oct 31.
2. Join the #project-chaos-mesh channel under [CNCF Slack](https://slack.cncf.io/), just in case you have any questions, or need help.
3. Start creating and submitting your PRs! Here are some top tips:
1. Check out the [Chaos Mesh Contribution guide](https://github.com/chaos-mesh/chaos-mesh/blob/master/CONTRIBUTING.md) before making contributions.
2. Have a go at any [issue](https://github.com/chaos-mesh/chaos-mesh/issues) labeled with "Hacktoberfest", note that these are the ones that we think might be good for those new to open source or Chaos Mesh, so it only serves as a starting point!

3. Start creating and submitting your PRs! Here are some top tips:
1. Check out the [Chaos Mesh Contribution guide](https://github.com/chaos-mesh/chaos-mesh/blob/master/CONTRIBUTING.md) before making contributions.
2. Have a go at any [issue](https://github.com/chaos-mesh/chaos-mesh/issues) labeled with "Hacktoberfest", note that these are the ones that we think might be good for those new to open source or Chaos Mesh, so it only serves as a starting point!

## Some notes

- To get a shirt, you must make 4 approved PRs on opted-in projects between October 1-31 in any time zone. If a repository has no “Hacktoberfest” topic set, please reach out to us or mention Hacktoberfest in your PR so we can set repository topics.
- No spams please (e.g. creating a PR just for the sake of it and not adding any value in any way)! Our maintainer will mark a PR as invalid if it’s determined to be spam, which does NOT count towards your PR total.
- Note that if our maintainer reports behavior that’s not in line with the [code of conduct](https://github.com/chaos-mesh/chaos-mesh/blob/master/CODE_OF_CONDUCT.md), you will be ineligible to participate.

Lastly, good luck, on your marks, get set, and hack away!
Lastly, good luck, on your marks, get set, and hack away!
57 changes: 28 additions & 29 deletions docs/add-new-chaos-experiment-type.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Add New Chaos Experiment Type
sidebar_label: Add New Chaos Experiment Type
---

import PickHelmVersion from '@site/src/components/PickHelmVersion'
Expand Down Expand Up @@ -168,34 +167,34 @@ You need to register the CRD (Custom Resource Definition) of HelloWorldChaos to
helloworldchaos.Module //Add a new line. Make sure you have imported HelloWorldChaos to this file first.
```

In `controllers/types/types.go`, add the following content:

```go
...
fx.Annotated{
Group: "objs",
Target: Object{
Name: "timechaos",
Object: &v1alpha1.TimeChaos{},
},
},

fx.Annotated{
Group: "objs",
Target: Object{
Name: "gcpchaos",
Object: &v1alpha1.GCPChaos{},
},
},

fx.Annotated{
Group: "objs",
Target: Object{
Name: "helloworldchaos",
Object: &v1alpha1.HelloWorldChaos{},
},
},
```
In `controllers/types/types.go`, add the following content:

```go
...
fx.Annotated{
Group: "objs",
Target: Object{
Name: "timechaos",
Object: &v1alpha1.TimeChaos{},
},
},

fx.Annotated{
Group: "objs",
Target: Object{
Name: "gcpchaos",
Object: &v1alpha1.GCPChaos{},
},
},

fx.Annotated{
Group: "objs",
Target: Object{
Name: "helloworldchaos",
Object: &v1alpha1.HelloWorldChaos{},
},
},
```

## Step 4: Build the Docker image

Expand Down
1 change: 0 additions & 1 deletion docs/architecture.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Chaos Mesh 架构
sidebar_label: Chaos Mesh 架构
---

## TODO
3 changes: 1 addition & 2 deletions docs/basic-features.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Basic Features
sidebar_label: Basic Features
---

This document describes the basic features of Chaos Mesh, including [fault injection](#fault-injection), [Chaos workflows](#chaos-workflows), [visualized operations](#visualized-operations), and [security guarantees](#security-guarantees).
Expand Down Expand Up @@ -39,7 +38,7 @@ Currently, Chaos workflows provide the following features:
- Support using YAML files to define and manage Chaos workflows
- Support using the web UI to define and manage Chaos workflows

For the configuration of a specific workflow, see [ Create the Chaos Mesh workflow](create-chaos-mesh-workflow.md).
For the configuration of a specific workflow, see [Create Chaos Mesh workflow](create-chaos-mesh-workflow.md).

## Visualized operations

Expand Down
1 change: 0 additions & 1 deletion docs/chaos-engineering-principles.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: 混沌工程理论
sidebar_label: 混沌工程理论
---

## TODO
15 changes: 7 additions & 8 deletions docs/chaosctl-tool.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: chaosctl
sidebar_label: chaosctl
---

chaosctl is a tool to assist in debugging Chaos Mesh. With chaosctl, you can simplify the process of developing and debugging new chaos types, and provide references for other developers when raising an issue.
Expand All @@ -17,19 +16,19 @@ For Windows or macOS users, you can compile it from the source code. Go v1.15 or

1. Clone the Chaos Mesh repository to your local machine.

```bash
git clone https://github.com/chaos-mesh/chaos-mesh.git
```
```bash
git clone https://github.com/chaos-mesh/chaos-mesh.git
```

2. Switch to the Chaos Mesh directory.

3. Execute the following command:

```bash
make chaosctl
```
```bash
make chaosctl
```

The compiled executable file is at `bin/chaosctl`.
The compiled executable file is at `bin/chaosctl`.

## Features

Expand Down
1 change: 0 additions & 1 deletion docs/chaosd-overview.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Chaosd Introduction
sidebar_label: Chaosd
---

## Chaosd introduction
Expand Down
1 change: 0 additions & 1 deletion docs/configure-enabled-namespace.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Configure namespace for Chaos experiments
sidebar_label: Configure namespace for Chaos experiments
---

import PickHelmVersion from '@site/src/components/PickHelmVersion'
Expand Down
6 changes: 0 additions & 6 deletions docs/configure-protected-namespace.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/create-chaos-mesh-workflow.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Create Chaos Mesh Workflow
sidebar_label: Create Chaos Mesh Workflow
---

## Introduction to Chaos Mesh Workflow
Expand Down
1 change: 0 additions & 1 deletion docs/define-workflow-scheduling-rules.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: 定义调度规则
sidebar_label: 定义调度规则
---

## TODO
1 change: 0 additions & 1 deletion docs/extend-chaos-daemon-interface.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Extend Chaos Daemon Interface
sidebar_label: Extend Chaos Daemon Interface
---

import PickHelmVersion from '@site/src/components/PickHelmVersion'
Expand Down
4 changes: 1 addition & 3 deletions docs/faqs.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
---
id: faqs
title: FAQs
sidebar_label: FAQs
---

import PickHelmVersion from '@site/src/components/PickHelmVersion'
Expand All @@ -14,7 +12,7 @@ No. Instead, you could use [`chaosd`](https://github.com/chaos-mesh/chaosd/) to

### Q: I have deployed Chaos Mesh and created PodChaos experiments successfully, but I still failed in creating NetworkChaos/TimeChaos Experiment. The log is shown as below:

```
```console
2020-06-18T01:05:26.207Z ERROR controllers.TimeChaos failed to apply chaos on all pods {"reconciler": "timechaos", "error": "rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp xx.xx.xx.xx:xxxxx: connect: connection refused\""}
```

Expand Down
1 change: 0 additions & 1 deletion docs/glossary.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: 术语表
sidebar_label: 术语表
---

## TODO
1 change: 0 additions & 1 deletion docs/go-client.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Go
sidebar_label: Go
---

## TODO
2 changes: 1 addition & 1 deletion docs/inspect-chaos-experiments.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In Chaos Mesh, the life cycle of a chaos experiment is divided into four steps,

- Injecting: Chaos experiment is in the process of fault injection. Normally, this step lasts for a short time. If the "Injecting" step lasts a long time, it may be due to some exceptions in the chaos experiment. In this case, you can check `Events` to find the cause of the exceptions.
- Running: After the faults have been successfully injected into all target pods, the chaos experiment starts running.
- Paused: when executing a [paused](run-a-chaos-experiment.md/#pause-chaos-experiments) process for a running chaos experiment, Chaos Mesh restores the injected faults from all target pods, which indicates the experiment is paused.
- Paused: when executing a [paused](run-a-chaos-experiment.md#pause-chaos-experiments) process for a running chaos experiment, Chaos Mesh restores the injected faults from all target pods, which indicates the experiment is paused.
- Finished: if the `duration` parameter of the experiment is configured, and when the experiment runs it up, Chaos Mesh restores the injected faults from all target pods, which indicates that the experiment is finished.

## Check results using Chaos Dashboard
Expand Down
1 change: 0 additions & 1 deletion docs/java-client.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: JAVA
sidebar_label: JAVA
---

## TODO
1 change: 0 additions & 1 deletion docs/multi-data-center-scenario.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: 多数据中心场景
sidebar_label: 多数据中心场景
---

## TODO
8 changes: 1 addition & 7 deletions docs/offline-installation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Install Chaos Mesh Offline
sidebar_label: Install Chaos Mesh Offline
---

import PickVersion from '@site/src/components/PickVersion'
Expand Down Expand Up @@ -142,12 +141,7 @@ kubectl create ns chaos-testing

Execute the installation command. When executing the installation command, you need to specify the namespace of Chaos Mesh and the image value of each component:

<PickHelmVersion className="language-bash">{`
helm install chaos-mesh helm/chaos-mesh -n=chaos-testing
--set chaosDaemon.image=$CHAOS_DAEMON_IMAGE
--set controllerManager.image=$CHAOS_MESH_IMAGE
--set dashboard.image=$CHAOS_DASHBOARD_IMAGE
--version latest`}</PickHelmVersion>
<PickHelmVersion className="language-bash">{`helm install chaos-mesh helm/chaos-mesh -n=chaos-testing --set chaosDaemon.image=$CHAOS_DAEMON_IMAGE --set controllerManager.image=$CHAOS_MESH_IMAGE --set dashboard.image=$CHAOS_DASHBOARD_IMAGE --version latest`}</PickHelmVersion>

## Verify the installation

Expand Down
1 change: 0 additions & 1 deletion docs/overview.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
slug: /
title: Chaos Mesh Overview
sidebar_label: Chaos Mesh Overview
---

This document describes the concepts, usage scenarios, core strengths, and the architecture of Chaos Mesh.
Expand Down
5 changes: 3 additions & 2 deletions docs/production-installation-using-helm.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Install Chaos Mesh using Helm (Recommended for Production Environments)
sidebar_label: Install Chaos Mesh using Helm
---

import PickVersion from '@site/src/components/PickVersion'
Expand Down Expand Up @@ -79,8 +78,10 @@ Because socket paths are listened to by the daemons of different running contain

#### Docker

<!-- prettier-ignore -->
<PickHelmVersion className="language-bash">{`\# Default to /var/run/docker.sock
helm install chaos-mesh chaos-mesh/chaos-mesh -n=chaos-testing --version latest`}</PickHelmVersion>
helm install chaos-mesh chaos-mesh/chaos-mesh -n=chaos-testing --version latest`}
</PickHelmVersion>

#### Containerd

Expand Down
1 change: 0 additions & 1 deletion docs/python-client.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Python
sidebar_label: Python
---

## TODO
1 change: 0 additions & 1 deletion docs/quick-start.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Quick Start (Test Recommended)
sidebar_label: Quick Start
---

import PickVersion from '@site/src/components/PickVersion'
Expand Down
1 change: 0 additions & 1 deletion docs/release-0.0.8.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: 0.0.8 release notes
sidebar_label: 0.0.8 release notes
---

## TODO
1 change: 0 additions & 1 deletion docs/release-0.0.9.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: 0.0.9 release notes
sidebar_label: 0.0.9 release notes
---

## TODO
1 change: 0 additions & 1 deletion docs/release-1.0.0.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: 1.0.0 release notes
sidebar_label: 1.0.0 release notes
---

## TODO
1 change: 0 additions & 1 deletion docs/release-2.0.0.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: 2.0.0 release notes
sidebar_label: 2.0.0 release notes
---

## TODO
1 change: 0 additions & 1 deletion docs/run-chaos-experiments-in-serial-or-parallel.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Serial and Parallel Experiments
sidebar_label: Serial and Parallel Experiments
---

Chaos Mesh Workflow offers two ways of scheduling experiments: serial and parallel. You can configure and schedule multiple experiments as needed.
Expand Down
1 change: 0 additions & 1 deletion docs/rust-client.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Rust
sidebar_label: Rust
---

## TODO
1 change: 0 additions & 1 deletion docs/simulate-aws-chaos.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Simulate AWS Faults
sidebar_label: Simulate AWS Faults
---

This document describes how to use Chaos Mesh to simulate AWS faults.
Expand Down
1 change: 0 additions & 1 deletion docs/simulate-disk-pressure-in-physical-nodes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Simulate Disk Faults
sidebar_label: Simulate Disk Faults
---

This document describes how to use Chaosd to simulate disk faults. This feature helps you simulate disk read/write load (via [dd](https://man7.org/linux/man-pages/man1/dd.1.html)) or disk fill (via [dd](https://man7.org/linux/man-pages/man1/dd.1.html) or [fallocate](https://man7.org/linux/man-pages/man1/fallocate.1.html)).
Expand Down
1 change: 0 additions & 1 deletion docs/simulate-dns-chaos-on-kubernetes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
title: Simulate DNS Faults
sidebar_label: Simulate DNS Faults
---

import PickHelmVersion from '@site/src/components/PickHelmVersion'
Expand Down
Loading