使用 Helm 安装(生产推荐)

在安装之前,请先确保环境中已经安装 Helm

如要查看 Helm 是否已经安装,请执行如下命令:

以下是预期输出:

如果你的实际输出与预期输出一致,表示 Helm 已经成功安装。

注意

本文中的命令将会使用 Helm v3 来操作 Chaos Mesh。如果你的环境中 Helm 的版本为 v2,请参考将 Helm v2 迁移到 v3或按照 v2 的格式进行修改。

使用 Helm 安装

在 Helm 仓库中添加 Chaos Mesh 仓库:

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

    执行如下命令显示可以安装的 charts:

    1. helm search repo chaos-mesh
    使用 Helm 安装(生产推荐) - 图10注意

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

    1. helm search repo chaos-mesh -l

    推荐将 Chaos Mesh 安装在 chaos-testing 命名空间下,也可以指定任意命名空间安装 Chaos Mesh:

    第 4 步:在不同环境下安装

    由于不同容器运行时的守护进程所监听的 socket path 不同,在安装时需要设置不同的值,可以根据不同的环境来运行如下的安装命令。

    Docker

    1. # 默认为 /var/run/docker.sock
    2. helm install chaos-mesh chaos-mesh/chaos-mesh -n=chaos-testing

    containerd

    1. helm install chaos-mesh chaos-mesh/chaos-mesh -n=chaos-testing --set chaosDaemon.runtime=containerd --set chaosDaemon.socketPath=/run/containerd/containerd.sock

    K3s

    1. helm install chaos-mesh chaos-mesh/chaos-mesh -n=chaos-testing --set chaosDaemon.runtime=containerd --set chaosDaemon.socketPath=/run/k3s/containerd/containerd.sock
    注意" class="reference-link">注意

    如要安装特定版本的 Chaos Mesh,请在 后添加 --version xxx 参数,如 --version v2.0.0

    要查看 Chaos Mesh 的运行情况,请执行以下命令:

    1. kubectl get po -n chaos-testing

    以下是预期输出:

    如果你的实际输出与预期输出相符,表示 Chaos Mesh 已经成功安装。

    使用 Helm 安装(生产推荐) - 图12注意

    如果实际输出的 STATUS 状态不是 Running,则需要运行以下命令查看 Pod 的详细信息,然后依据错误提示排查并解决问题。

    1. # 以 chaos-controller 为例
    2. kubectl describe po -n chaos-testing chaos-controller-manager-69fd5c46c8-xlqpc

    运行 Chaos 实验

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

    如要升级 Chaos Mesh,请执行如下命令:

    1. helm upgrade chaos-mesh chaos-mesh/chaos-mesh
    注意

    如要升级至特定版本的 Chaos Mesh,请在 后添加 --version xxx 参数,如 --version v2.0.0

    注意" class="reference-link">使用 Helm 安装(生产推荐) - 图14注意

    如在非 Docker 环境下进行升级,需如所述添加相应的参数。

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

    1. helm upgrade chaos-mesh chaos-mesh/chaos-mesh -n=chaos-testing --set dashboard.create=false
    注意" class="reference-link">注意

    如果想了解更多的值及其相关的用法,请参考。

    警告" class="reference-link">使用 Helm 安装(生产推荐) - 图16警告

    目前,Helm 在升级时不会应用最新的 CustomResourceDefinition (CRD),这可能会导致一些错误的发生。为了避免这种情况,请手动应用最新的 CRD:

    卸载 Chaos Mesh

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

    1. helm uninstall chaos-mesh -n chaos-testing

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

    如何关闭安全模式