首页 > 其他分享 >3. ChaosBlade-Box平台安装

3. ChaosBlade-Box平台安装

时间:2024-06-05 22:55:15浏览次数:22  
标签:Box box -- chaosblade ChaosBlade mysql 安装

ChaosBlade-Box平台安装

参考自:https://chaosblade.io/docs/about-chaosblade/box-introduce/

通过ChaosBlade-Box可实现 chaosbladelitmuschaos 等已托管工具自动化部署,按照社区的建立的混沌实验模型统一实验场景,根据主机、Kubernetes、应用来划分目标资源,通过目标管理器来控制,在实验创建页面,可以实现白屏化的目标资源选择。平台通过调用混沌实验执行来执行不同工具的实验场景,配合接入 prometheus 监控,可以观察实验 metric 指标,后续会提供丰富的实验报告。

ChaosBlade-Box平台支持主机安装和helm安装,同时依赖mysql数据库存储数据。

1 主机安装

1.1 主机依赖环境准备

应用为jar包,确保环境已经安装java,本文使用openjdk 1.8.0_402:

java -verison

自动安装探针依赖ansible,确保环境中安装了ansible:

ansible --vesrion

# centos下安装
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

1.2 部署box应用

创建数据库,本文按照官方指导通过docker运行mysql,更改mysql root密码。

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

备注:
建议使用官方给出的docker运行mysql数据库,博主测试时使用了本地的mysql 5.7数据库创建了chaosblade,且更改了如下参数,最终运行Box界面频繁报500的错误。

  • haracter-set-server=utf8mb4
  • collation-server=utf8mb4_unicode_ci
  • lower_case_table_names=1

运行应用,下载chaosblade-box-1.0.4.jar,使用如下命令启动,更改对应的mysql连接参数:

nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.4.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 --chaos.function.sync.type=ALL --chaos.prometheus.api=PROMETHEUS_API> chaosblade-box.log 2>&1 &

例如,mysql运行在同一台机器,root密码设置为123456,由于没有prometheus环境,去掉相关配置:

nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.4.jar --spring.datasource.url="jdbc:mysql://127.0.0.1:3306/chaosblade?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" --spring.datasource.username=root --spring.datasource.password=123456 --chaos.server.domain=BOX-HOST > chaosblade-box.log 2>&1 &

如果时jdk17环境,起用命令添加: --add-opens java.base/java.lang=ALL-UNNAMED

1.3 验证安装

可直接查看进程是否存在,并通过 http://:7001 去访问平台。

停止box:

# 1. 先查看box进程pid
ps -ef | grep chaosblade-box

# 2. 直接杀掉对应的进程
kill process-pid

2 Kubernetes 环境下安装

Kubernetes版本必须不低于版本 v1.16,同时k8s环境安装helm。

2.1 使用 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

2.2 验证安装

要查看 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

2.3 卸载 ChaosBlade-Box

如果需要卸载 ChaosBlade-Box,请执行以下命令:

helm un chaosblade-box -n chaosblade

备注

使用容器部署的组件会自动从docker hub拉取容器镜像,可以离线导入容器镜像。我这边将使用到的安装包和容器镜像打包放到了网盘,关注微信公众号'思享云栈'回复chaosblade获取。

标签:Box,box,--,chaosblade,ChaosBlade,mysql,安装
From: https://www.cnblogs.com/lldhsds/p/18234098

相关文章

  • 《王者荣耀北美版》APK 安装包,支持安卓系统
    《王者荣耀北美版》这是一款由腾讯所推出的王者荣耀的北美服版本,让你可以体验不一样的被美服新玩法,在游戏中将加入新的角色,全新的画面感,里面多种英雄进行选择,带给你不一样的游戏新玩法。链接:https://pan.baidu.com/s/1-QZIhkOuSr3pYSejmTIoyw?pwd=ed8o 提取码:ed8o......
  • 【软件插件】SketchUP插件-最新版坯子插件2024 v3.2.2(支持SketchUp2012-2024版本)安装
    下载链接:https://r0vr8xquwul.feishu.cn/docx/MXC5dUMZroLibaxYgZ3cmkyinDe详细图文教程:https://www.yuque.com/zhefengerhuanzaigua/bld6x5/kc2baq1msy6dehb3软件介绍坯子插件库是为SketchUp(草图大师)用户推出的一款插件管理工具,我们知道在使用sketchup进行模型设计的时候是......
  • java安装
    java安装我在安装java时出现了安装失败,问题是,安装路径出现了中文。配置环境变量时,先配置JAVA_HOME,然后在PATH配置\bin和\jre。遇到的问题在安装一次java后,移动java文件夹到其他位置,更改环境变量后,在cmd窗口不能正常输出java版本publicclassHelloWorld{ publicstat......
  • 在Windows上安装mysql-8.0.28-winx64.zip
    1.解压2.配置文件点击查看代码MicrosoftWindows[版本10.0.17763.316](c)2018MicrosoftCorporation。保留所有权利。D:\mysql\bin>mysqldinstallmysql8Servicesuccessfullyinstalled.D:\mysql\bin>mysqld--initialize-insecureD:\mysql\bin>mysql-uroot......
  • Centos7下安装weblogic
    一、Weblogic安装包下载Weblogic下载地址:https://www.oracle.com/cn/middleware/technologies/fusionmiddleware-downloads.html 二、安装JDKWeblogic需要依赖于JDK#解压jdk压缩包,将文件夹重命名为jdk1.8tarzxfjdk-8-linux-x64.tar.gz-C/opt/cd/optmvjdk1.8......
  • Vue的viewUI框架安装与使用
    1.安装pycharm进入到项目目录C:\Users\Administrator\PycharmProjects\myvue02>npminstallview-design--save 2.引用在项目的src/main.js中加入如下代码【src/main.js】importVuefrom'vue'importAppfrom'./App.vue'importViewUIfrom'view-design&......
  • wsl安装教程
    转载自:https://blog.csdn.net/m0_51233386/article/details/127961763关于WLS的介绍1.什么是WSL?2双系统的方法比较3WSL1与WSL2比较方法一:传统手动安装1.1windows系统版本查看及更新1.2启用适用于Linux的Windwos子系统1.3启用虚拟机功能1.4重启电脑1.5下载Linux......
  • python3环境安装
    安装python3.6(更高版本对openssl版本有要求centos7可能build失败)curl-q#https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz-oPython-3.6.9.tar.xztarxfPython-3.6.9.tar.xzcdPython-3.6.9/./configure--prefix=/opt/python3.6make-j4&&makeinst......
  • centos 安装pyenv
    下载pyenvwget https://github.com/pyenv/pyenv/archive/refs/tags/v2.4.1.tar.gz-Opyenv.tar.gz yuminstallgcczlib-develbzip2bzip2-develreadline-develsqlitesqlite-developenssl-develtk-devellibffi-develxz-devel 解压缩:下载完成后,使用以下命令解压......
  • Docker安装使用教程
    Docker安装使用教程Docker是什么Docker是一个容器化开源平台,它使开发者可以再容器中封装应用程序,以及其依赖的所有组件,包括操作系统、库文件、环境变量等,并以轻量级、可移植的方式进行交付和部署.Docker的三大核心概念是:镜像(Image):镜像是Docker的基本构建块,它是一个只读的模板或......