初试牛刀 - 使用 Chaos Mesh 进行第一次混沌实验
第一步:准备实验环境
我们的“混沌实验室”需要三个核心组件:一个 Kubernetes 集群、Chaos Mesh 平台、以及一个用来做实验的应用。
A. 安装 Chaos Mesh
我们将使用 Helm 来安装 Chaos Mesh,这是官方推荐的最简单的方式。
-
添加 Chaos Mesh 的 Helm 仓库:
helm repo add chaos-mesh https://charts.chaos-mesh.org helm repo update
-
创建用于 Chaos Mesh 的命名空间:
kubectl create ns chaos-testing
-
安装 Chaos Mesh:
# 我们通过 --set 参数来确保 Dashboard 组件也被一同创建 helm install chaos-mesh chaos-mesh/chaos-mesh -n chaos-testing --set dashboard.create=true
这个命令会在
chaos-testing
命名空间中安装 Chaos Mesh 的所有核心组件,包括:chaos-controller-manager
: 实验的核心控制器。chaos-dashboard
: 我们将要使用的 Web UI。chaos-daemon
: 在每个 Kubernetes 节点上运行的代理,负责执行具体的故障注入动作。
-
验证安装:
kubectl get pods -n chaos-testing
等待片刻,直到所有 Pod 都进入
Running
状态。
B. 访问 Chaos Mesh Dashboard
通过端口转发,将 Dashboard 服务暴露到你的本地机器:
kubectl port-forward -n chaos-testing svc/chaos-dashboard 2333:2333
现在,在浏览器中打开 http://localhost:2333
。你将看到 Chaos Mesh 直观、酷炫的控制台界面。
C. 部署我们的“受害者”应用
我们需要一个可以被“攻击”的目标。让我们部署一个我们非常熟悉的、拥有3个副本的 Nginx 应用。
-
创建一个
nginx-victim.yaml
文件: