跳到主要内容
版本:Next

快速试用

本篇文档描述如何在测试环境或本机环境快速试用 Chaos Mesh。

注意

v2.8.2v2.9 开始,install.sh 脚本已被弃用。

install.sh 脚本最初仅为快速试用设计,并不具备完整功能。

鉴于 Helm 的广泛使用和成熟生态,我们不再建议通过脚本管理 Chaos Mesh。请参考使用 Helm 安装,在测试或生产环境中安装 Chaos Mesh。

你仍然可以获取 v2.8.2 之前版本的 install.sh 脚本。

环境准备

在试用之前,请先确保环境中已经部署 Kubernetes 集群。如果尚未部署 Kubernetes 集群,可以参考以下链接完成部署:

快速安装

要在试用环境中安装 Chaos Mesh,请运行以下脚本:

备注
  • 如果当前环境为 kind,请在脚本后添加 --local kind 参数。

    若需要指定 kind 版本,请在脚本后添加 --kind-version xxx 参数,如:

  • 如果当前环境为 K3s,请在脚本后添加 --k3s 参数。

  • 如果当前环境为 Microk8s,请在脚本后添加 --microk8s 参数。

运行此安装脚本后,Chaos Mesh 将会自动安装与版本相符的 CustomResourceDefinition (CRD)、所有需要的组件、及相关的 Service Account 配置。

如果想了解更多的安装细节,请参考 install.sh 的源代码

验证安装

要检查 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 的详细信息,然后依据错误提示排查并解决问题。

# 以 chaos-controller 为例
kubectl describe po -n chaos-mesh chaos-controller-manager-7b8c86cc9-44dzf
备注

如果 leader election 是关闭的,chaos-controller-manager 应只有 1 个实例。

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

运行 Chaos 实验

验证安装完成后,你可以运行一个 Chaos 实验来体验 Chaos Mesh 的功能。

请参考运行试验进行创建。成功创建实验后,你可以通过 Chaos Dashboard 观察实验的运行状态。

卸载 Chaos Mesh

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

也可以通过删除 chaos-mesh 命名空间直接卸载 Chaos Mesh:

kubectl delete ns chaos-mesh

常见问题解答

为什么安装后根目录会出现 local 目录

如果当前环境并没有安装 kind 但你在安装命令中使用了 --local kind 参数,install.sh 安装脚本将会自动安装 kind 到根目录下的 local 目录中。