混沌工程平台 Box 安装与卸载
本篇文档主要描述如何安装混沌工程平台 ChaosBlade-Box。
主机环境下安装
环境准备
第一步,确保环境中已经安装 Java
如要查看 Helm 是否已经安装,请执行如下命令:
java -verison
以下是预期输出:
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
第二步,确保环境能自动安装探针
以下环境保障,主要用于平台自动安装探针时需要用到,如果不需要此功能,可不用安装
- 确保环境中安装了
ansible
# Check if there is already installed
ansible --version
# install ansible, eg: Fedora || RedHat
yum install ansible -y
- 确保环境中安装了
expect
,将 sshKey.sh 和 chaosblade-box-version.jar 放在同一个目录中
# Check if there is already installed
expect -v
# install expect, eg: Fedora || RedHat
yum install expect -y
- 生成 public key
# Check if there is already a key, if there is, delete the previous backup
ls ~/.ssh
rm -rf ~/.ssh/*
# generate public key
ssh-keygen -t rsa
运行应用
如果已经安装过了MYSQL
,需要创建chaosblade
的 database,如果没有安装,可以通过Docker
进行安装运行
docker run -d -it -p 3306:3306 \
-e MYSQL_DATABASE=chaosblade \
-e MYSQL_ROOT_PASSWORD=DATASOURCE_PASSWORD \
--name mysql-5.6 mysql:5.6 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
--default-time_zone='+8:00' \
--lower_case_table_names=1
Notes: 需要将 DATASOURCE_PASSWORD 替换成自定义的密码
可通过以下命令,启动 Box
nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.0.jar --spring.datasource.url="jdbc:mysql://DATASOURCE_HOST:3306/chaosblade?characterEncoding=utf8&useSSL=false" --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD --chaos.server.domain=BOX-HOST> chaosblade-box.log 2>&1 &
Notes: 需要替换参数 DATASOURCE_HOST、DATASOURCE_USERNAME、DATASOURCE_PASSWORD
验证安装
可直接查看进程是否存在,并通过 http://127.0.0.1:7001 去访问平台
ps -ef | grep chaosblade-box
卸载 ChaosBlade-Box
如果需要卸载 ChaosBlade-Box
# 1. 先查看box进程pid
ps -ef | grep chaosblade-box
# 2. 直接杀掉对应的进程
kill process-pid
Kubernetes 环境下安装
环境准备
具体环境准备参见:Kubernetes 下安装环境准备
使用 Helm 安装
第一步,下载 Box Chart 包
查看所有可以下载的 box-release,下载到本地,如:
wget https://github.com/chaosblade-io/chaosblade-box/releases/download/v1.0.2/chaosblade-box-1.0.2.tgz
第二步,进行安装
helm install chaosblade-box chaosblade-box-1.0.0.tgz --namespace chaosblade --set spring.datasource.password=DATASOURCE_PASSWORD
验证安装
要查看 Box 运行情况,请执行以下命令:
kubectl get po -n chaosblade
以下是预期输出
NAME READY STATUS RESTARTS AGE
chaosblade-box-5bc47b676f-2gjh9 1/1 Running 0 15d
chaosblade-box-mysql-58cc864896-2jxrs 1/1 Running 0 15d
如果你的实际输出与预期输出相符,表示 ChaosBlade-Box 已经安装成功。
⚠️ 注意 如果实际输出的
STATUS
状态不是Running
,则需要运行以下命令查看 Pod 的详细信息,然后依据错误提示排查并解决问题。
# 以chaosblade-box为例
kubectl describe po chaosblade-box-5bc47b676f-2gjh9 -n chaosblade
卸载 ChaosBlade-Box
如果需要卸载 ChaosBlade-Box,请执行以下命令:
helm un chaosblade-box -n chaosblade