混沌工程工具 ChaosBlade 安装与卸载
本篇文档主要描述如何安装混沌工程工具 ChaosBlade。
主机环境下安装
安装下载命令行工具包
ChaosBlade 是一款可通过支持 cli 命令的端侧命令行工具。所以在主机环境下只需要将 Chaosblade Releases 二进制包下载到对应文件夹中,并进行解压就可使用。以下以 1.17.0 amd64
举例:
# 1. download tar
wget https://github.com/chaosblade-io/chaosblade/releases/download/v1.7.2/chaosblade-1.7.2-linux-amd64.tar.gz
# 2. unzip and entry chaosblade directory
tar -xvf chaosblade-1.7.2-linux-amd64.tar.gz && cd chaosblade-1.7.2/
验证安装
查看是否安装成功,用以下命令进行验证:
./blade v
以下是预期输出:
version: 1.7.2
env: #1 SMP Thu Mar 17 17:08:06 UTC 2022 x86_64
build-time: Tue Sep 6 07:06:55 UTC 2022
卸载安装
只需要将下载和解压的工具包直接删除即可
rm -rf chaosblade-1.7.2*
Kubernetes 环境下安装
环境准备
具体环境准备参见:Kubernetes 下安装环境准备
使用 Helm 安装
第一步,下载 Box Chart 包
查看所有可以下载的 chaosblade-release,下载到本地,以下1.7.2 amd64
版本为例:
wget https://github.com/chaosblade-io/chaosblade/releases/download/v1.7.2/chaosblade-operator-1.7.2.tgz
第二步,进行安装
helm install chaosblade-operator chaosblade-operator-1.7.2.tgz --namespace chaosblade
验证安装
要查看 Box 运行情况,请执行以下命令:
kubectl get po -n chaosblade
以下是预期输出
NAME READY STATUS RESTARTS AGE
chaosblade-operator-688568959-lcwgb 1/1 Running 0 6s
chaosblade-tool-c9xjd 1/1 Running 0 6s
chaosblade-tool-hvqcv 1/1 Running 0 6s
chaosblade-tool-q8jjd 1/1 Running 0 6s
如果你的实际输出与预期输出相符,表示 ChaosBlade-Box 已经安装成功。
⚠️ 注意 如果实际输出的
STATUS
状态不是Running
,则需要运行以下命令查看 Pod 的详细信息,然后依据错误提示排查并解决问题。
# 以chaosblade-operator为例
kubectl describe po chaosblade-operator-688568959-lcwgb -n chaosblade
卸载 ChaosBlade
如果需要卸载 ChaosBlade,请执行以下命令:
helm un chaosblade-operator -n chaosblade
卸载后可在查看 crd 资源是否也已经删除:
kubectl get crds | grep chaos
如果 blade crd 资源还存在可通过以下命令进行删除:
kubectl delete crd chaosblades.chaosblade.io
如果 crd 资源删除长时间没有成功,可通过以下命令进行删除:
blades=$(kubectl get blade | grep -v NAME | awk '{print $1}' | tr '\n' ' ') && kubectl patch blade $blades --type merge -p '{"metadata":{"finalizers":[]}}'