离线安装 Chaos Mesh
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
本文档介绍如何离线安装 Chaos Mesh。
准备工作
在安装 Chaos Mesh 前,请确保离线环境中已安装 Docker 并部署了 Kubernetes 集群。若环境尚未准备就绪,请参考以下文档安装 Docker 和部署 Kubernetes 集群:
准备安装文件
离线安装 Chaos Mesh 前,您需要从可访问外网的机器下载所有 Chaos Mesh 镜像和仓库压缩包,然后将下载的文件复制到离线环境。
指定版本号
在可访问外网的机器上设置 Chaos Mesh 版本号为环境变量:
下载 Chaos Mesh 镜像
在可访问外网的机器上,使用已设置的版本号拉取镜像:
docker pull ghcr.io/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION}
docker pull ghcr.io/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION}
docker pull ghcr.io/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION}
将镜像保存为 tar 包:
docker save ghcr.io/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION} > image-chaos-mesh.tar
docker save ghcr.io/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION} > image-chaos-daemon.tar
docker save ghcr.io/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION} > image-chaos-dashboard.tar
若要模拟 DNS 故障(例如使 DNS 响应返回随机错误 IP 地址),您需要额外拉取 pingcap/coredns 镜像。
下载 Chaos Mesh 仓库压缩包
在可访问外网的机器上下载 Chaos Mesh 的 zip 包:
复制文件
下载完所有安装所需文件后,需将这些文件复制到离线环境:
-
image-chaos-mesh.tar -
image-chaos-daemon.tar -
image-chaos-dashboard.tar -
chaos-mesh.zip
安装 Chaos Mesh
将 Chaos Mesh 镜像的 tar 包和仓库的 zip 包复制到离线环境后,请按以下步骤安装 Chaos Mesh。
步骤 1:加载 Chaos Mesh 镜像
从 tar 包加载镜像:
docker load < image-chaos-mesh.tar
docker load < image-chaos-daemon.tar
docker load < image-chaos-dashboard.tar
步骤 2:推送镜像至 Registry
推送镜像至 Registry 前,请确保离线环境中已部署 Registry。若未部署,请参考 Docker Registry 获取部署方法。
设置 Chaos Mesh 版本和 Registry 地址为环境变量:
标记镜像使其指向 Registry:
export CHAOS_MESH_IMAGE=$DOCKER_REGISTRY/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION}
export CHAOS_DAEMON_IMAGE=$DOCKER_REGISTRY/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION}
export CHAOS_DASHBOARD_IMAGE=$DOCKER_REGISTRY/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION}
docker image tag ghcr.io/chaos-mesh/chaos-mesh:${CHAOS_MESH_VERSION} $CHAOS_MESH_IMAGE
docker image tag ghcr.io/chaos-mesh/chaos-daemon:${CHAOS_MESH_VERSION} $CHAOS_DAEMON_IMAGE
docker image tag ghcr.io/chaos-mesh/chaos-dashboard:${CHAOS_MESH_VERSION} $CHAOS_DASHBOARD_IMAGE
推送镜像至 Registry:
docker push $CHAOS_MESH_IMAGE
docker push $CHAOS_DAEMON_IMAGE
docker push $CHAOS_DASHBOARD_IMAGE
步骤 3:使用 Helm 安装 Chaos Mesh
解压 Chaos Mesh 的 zip 包:
unzip chaos-mesh.zip -d chaos-mesh && cd chaos-mesh
在 Kubernetes v1.15(或更早版本)上安装 Chaos Mesh 时,您需要先使用 kubectl create -f manifests/crd-v1beta1.yaml 手动安装 CRD。有关更多信息,请参见常见问题。
创建命名空间:
kubectl create ns chaos-mesh
执行安装命令时,需指定 Chaos Mesh 的命名空间及各组件的镜像值:
helm install chaos-mesh helm/chaos-mesh -n=chaos-mesh --set images.registry=$DOCKER_REGISTRY
验证安装
本页面由 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 实时查看实验的运行状态。