跳至主内容
版本:2.6.7

使用 Helm 安装 Chaos Mesh

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

本文档介绍如何在生产环境中安装 Chaos Mesh。

准备工作

安装 Chaos Mesh 前,请确保环境中已安装 Helm

执行以下命令检查 Helm 是否安装:

helm version

预期输出如下:

version.BuildInfo{Version:"v3.5.4", GitCommit:"1b5edb69df3d3a08df77c9902dc17af864ff05d1", GitTreeState:"dirty", GoVersion: "go1.16.3"}

若实际输出包含 VersionGitCommitGitTreeStateGoVersion 字段且与预期输出相似,则表明 Helm 已成功安装。

备注

本文档命令均使用 Helm v3 操作 Chaos Mesh。若环境中使用 Helm v2,请参考 Helm v2 迁移至 v3 或调整命令为 Helm v2 格式。

使用 Helm 安装 Chaos Mesh

步骤 1:添加 Chaos Mesh 仓库

将 Chaos Mesh 仓库添加至 Helm 仓库:

helm repo add chaos-mesh https://charts.chaos-mesh.org

步骤 2:查看可安装的 Chaos Mesh 版本

执行以下命令查看可安装的 charts:

helm search repo chaos-mesh
备注

上述命令仅输出 chart 的最新版本。如需安装历史版本,请执行以下命令查看所有已发布版本:

helm search repo chaos-mesh -l

完成上述命令后,即可开始安装 Chaos Mesh。

步骤 3:创建安装命名空间

建议在 chaos-mesh 命名空间下安装,也可指定任意命名空间:

kubectl create ns chaos-mesh

步骤 4:在不同环境中安装

备注

在 Kubernetes v1.15(或更早版本)上安装 Chaos Mesh 时,需要手动安装 CRD。有关详细信息,请参阅常见问题

因不同容器运行时的守护进程监听不同 socket 路径,安装时需设置对应参数。请根据环境执行以下安装命令:

信息

安装特定版本 Chaos Mesh 时,请在 helm install 后添加 --version x.y.z 参数。例如:helm install chaos-mesh chaos-mesh/chaos-mesh -n=chaos-mesh --version 2.1.0

技巧

Chaos Mesh 默认开启 leader-election 功能以确保高可用。如无需此功能,可通过 --set controllerManager.leaderElection.enabled=false 手动禁用。

若版本号 <2.6.1,仍需设置 --set controllerManager.replicaCount=1 将控制器副本数缩减为 1。

验证安装

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

要检查 Chaos Mesh 的运行状态,请执行以下命令:

kubectl get pods -n chaos-mesh -l app.kubernetes.io/instance=chaos-mesh

预期输出如下:

NAME                                       READY   STATUS    RESTARTS   AGE
chaos-controller-manager-7b8c86cc9-44dzf 1/1 Running 0 17m
chaos-controller-manager-7b8c86cc9-mxw99 1/1 Running 0 17m
chaos-controller-manager-7b8c86cc9-xmc5v 1/1 Running 0 17m
chaos-daemon-sg2k2 1/1 Running 0 17m
chaos-dashboard-b9dbc6b68-hln25 1/1 Running 0 17m
chaos-dns-server-546675d89d-qkjqq 1/1 Running 0 17m

如果实际输出与预期输出相似,则表明 Chaos Mesh 已成功安装。

备注

如果实际输出的 STATUS 不是 Running,请执行以下命令检查 Pod 详情,并根据错误信息排查问题。

# Take the chaos-controller as an example
kubectl describe po -n chaos-mesh chaos-controller-manager-7b8c86cc9-44dzf
备注

如果 leader election 已关闭,chaos-controller-manager 应仅有一个副本。

NAME                                        READY   STATUS    RESTARTS   AGE
chaos-controller-manager-676d8567c7-ndr5j 1/1 Running 0 24m
chaos-daemon-6l55b 1/1 Running 0 24m
chaos-dashboard-b9dbc6b68-hln25 1/1 Running 0 44m
chaos-dns-server-546675d89d-qkjqq 1/1 Running 0 44m

运行混沌实验

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

确认安装完成后,您可以运行混沌实验来体验 Chaos Mesh 的各项功能。

具体实验操作方法请参考运行混沌实验文档。实验成功创建后,您可通过 Chaos Dashboard 实时查看实验的运行状态。

升级 Chaos Mesh

执行以下命令升级 Chaos Mesh:

helm upgrade chaos-mesh chaos-mesh/chaos-mesh
信息

升级至特定版本时,请在 helm upgrade 后添加 --version x.y.z 参数。例如:helm upgrade chaos-mesh chaos-mesh/chaos-mesh -n=chaos-mesh --version 2.1.0

备注

若在非 Docker 环境中升级了 Chaos Mesh,需按步骤 4:在不同环境中安装添加对应参数。

要修改配置,请根据需求设置不同的值。例如,执行以下命令升级并卸载 chaos-dashboard

备注

有关更多配置项及其用法,请参考完整配置值列表

注意

当前 Helm 升级过程中不会自动应用最新的 CustomResourceDefinition (CRD),这可能导致错误。为避免此问题,请手动应用最新 CRD:

卸载 Chaos Mesh

要卸载 Chaos Mesh,请执行以下命令:

helm uninstall chaos-mesh -n chaos-mesh

常见问题

如何安装最新版本的 Chaos Mesh?

helm/chaos-mesh/values.yaml 文件定义了最新版本(master 分支)的镜像。要安装最新版 Chaos Mesh,请执行以下命令:

# Clone repository
git clone https://github.com/chaos-mesh/chaos-mesh.git
cd chaos-mesh

helm install chaos-mesh helm/chaos-mesh -n=chaos-mesh

如何禁用安全模式?

安全模式允许禁用 Chaos Mesh 仪表盘的认证功能,仅适用于非生产环境部署。安全模式默认启用。如需禁用,请在安装或升级时指定 dashboard.securityModefalse

如何持久化 Chaos Dashboard 数据

Chaos Dashboard 默认使用 SQLite 作为数据库引擎。若禁用 PV(持久卷),重启后仪表盘数据将丢失。为避免数据丢失,请参考持久化 Chaos Dashboard 数据文档,为仪表盘启用 PV 或改用 MySQL/PostgreSQL 作为数据库引擎。