卸载 Chaos Mesh
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
本文介绍如何卸载 Chaos Mesh,包括使用 Helm 卸载和手动卸载两种方式。当需要彻底清理 Kubernetes 集群中的 Chaos Mesh 安装时,手动清除也非常必要。
使用 Helm 卸载 Chaos Mesh
步骤 1:清理混沌实验
卸载 Chaos Mesh 前,请确保所有混沌实验均已删除。可通过以下命令查看混沌相关对象:
for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}'); do kubectl get $i -A; done
确认所有混沌实验删除后,即可卸载 Chaos Mesh。
步骤 2:列出 Helm Release
执行以下命令查看已安装的 Helm Release:
helm list -A
输出示例如下:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
chaos-mesh-playground chaos-mesh 1 2021-12-01 22:58:18.037052401 +0800 CST deployed chaos-mesh-2.1.0 2.1.0
这表明 Chaos Mesh 在命名空间 chaos-mesh 中以 Helm Release 名称 chaos-mesh-playground 安装。此即需卸载的目标 Release。
步骤 3:删除 Helm Release
确定目标 Helm Release 后,执行以下命令删除:
helm uninstall chaos-mesh-playground -n chaos-mesh
步骤 4:移除 CRD
helm uninstall 不会移除 CRD,需手动执行以下命令清理:
kubectl delete crd $(kubectl get crd | grep 'chaos-mesh.org' | awk '{print $1}')
手动卸载 Chaos Mesh
若您通过脚本 install.sh 安装 Chaos Mesh,或在安装后修改过配置组件,或卸载时遇到问题,可参考以下步骤手动卸载。
步骤 1:清理混沌实验
卸载 Chaos Mesh 前,请确保所有混沌实验均已删除。可通过以下命令查看混沌相关对象:
for i in $(kubectl api-resources | grep chaos-mesh | awk '{print $1}'); do kubectl get $i -A; done
确认所有混沌实验删除后,即可卸载 Chaos Mesh。
步骤 2:移除 Chaos Mesh 工作负载
Chaos Mesh 安装后通常包含以下组件:
-
名为
chaos-controller-manager的Deployment,作为 Chaos Mesh 的控制器/协调器 -
名为
chaos-daemon的DaemonSet,作为各 Kubernetes 工作节点上的代理 -
名为
chaos-dashboard的Deployment,提供 Web UI -
名为
chaos-dns-server的Deployment(仅当启用 DNSChaos 功能时存在),作为 DNS 代理服务器
请移除这些工作负载对象。
随后删除其对应 Service:
-
chaos-daemon
-
chaos-dashboard
-
chaos-mesh-controller-manager
-
chaos-mesh-dns-server
步骤 3:移除 Chaos Mesh RBAC 对象
Chaos Mesh 安装后包含以下 RBAC 对象:
-
ClusterRoleBinding
- chaos-mesh-playground-chaos-controller-manager-cluster-level
- chaos-mesh-playground-chaos-controller-manager-target-namespace
- chaos-mesh-playground-chaos-dns-server-cluster-level
- chaos-mesh-playground-chaos-dns-server-target-namespace
-
ClusterRole
- chaos-mesh-playground-chaos-controller-manager-cluster-level
- chaos-mesh-playground-chaos-controller-manager-target-namespace
- chaos-mesh-playground-chaos-dns-server
- chaos-mesh-playground-chaos-dns-server-cluster-level
-
RoleBinding
- chaos-mesh-playground-chaos-controller-manager-control-plane
- chaos-mesh-playground-chaos-dns-server-control-plane
-
角色
- chaos-mesh-playground-chaos-controller-manager-control-plane
- chaos-mesh-playground-chaos-dns-server-control-plane
-
服务账户
- chaos-controller-manager
- chaos-daemon
- chaos-dns-server
请删除这些 RBAC 对象。
步骤 4:删除配置映射和密钥
安装 Chaos Mesh 时会创建以下配置映射和密钥对象:
-
配置映射
- chaos-mesh
- dns-server-config
-
密钥
- chaos-mesh-webhook-certs
请删除这些配置映射和密钥对象。
步骤 5:删除 Webhook
安装 Chaos Mesh 时会创建以下 Webhook 配置:
-
ValidatingWebhookConfigurations
- chaos-mesh-validation
- chaos-mesh-validate-auth
-
MutatingWebhookConfigurations
- chaos-mesh-mutation
请删除这些 Webhook 配置。
步骤 6:删除 CRD
最后,您可以通过执行以下命令来删除 CRD:
kubectl delete crd $(kubectl get crd | grep 'chaos-mesh.org' | awk '{print $1}')