3. ChaosBlade-Box平台安装

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获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/22968.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础29(编码算法 哈希算法 MD5 SHA—1 HMac 算法 堆成加密算法)

目录 一、编码算法 1. 常见编码 2. URL编码 3. Base64编码 4. 小结 二、哈希算法 1. 哈希碰撞 2. 常用哈希算法 MD5算法 SHA-1算法 自定义HashTools工具类 3. 哈希算法的用途 校验下载文件 存储用户密码 4. 小结 三、Hmac算法 小结: 四、对称加密…

js获取blob格式的json对象

我们上传文件时可能会携带某些参数,比如 let formData new FormData() formData.append("data",new Blob([JSON.stringify(this.params)],{type: "application/json }))当我们直接取时发现会取到一个file类型的对象,无法取到值 formDa…

鸿蒙轻内核M核源码分析系列七 动态内存Dynamic Memory

内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。 在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优&#x…

【C++小知识】为什么C语言不支持函数重载,而C++支持

为什么C语言不支持函数重载,而C支持 编译链接过程函数名修饰过程总结 在了解C函数重载前,如果对文件的编译与链接不太了解。可以看看我之前的一篇文章,链接: 文件的编译链接 想要清楚为什么C语言不支持函数重载而C支持,有俩个过程…

FFmpeg中 Scaler 使用文档介绍

描述 在 FFmpeg 中,swscale 是一个用于图像缩放和像素格式转换的库,它是 libswscale 的一部分。这个库提供了一系列的功能,允许开发者在视频处理过程中改变视频帧的尺寸和像素格式。以下是 swscale 的一些关键点: 图像重缩放:swscale 允许开发者对视频帧进行尺寸调整,这在…

大模型Prompt-Tuning技术进阶

LLM的Prompt-Tuning主流方法 面向超大规模模型的Prompt-Tuning 近两年来,随之Prompt-Tuning技术的发展,有诸多工作发现,对于超过10亿参数量的模型来说,Prompt-Tuning所带来的增益远远高于标准的Fine-tuning,小样本甚至…

就在刚刚,雷军又做了个10亿的公司

在新能源的滚滚洪流中,宁德时代犹如一艘扬帆起航的巨轮,凭借其在电池技术领域的卓越表现,稳稳占据了行业的领航地位。近日,宁德时代与小米汽车两大巨头携手合作,共同创建了北京时代动力电池有限公司,注册资…

【保姆级讲解Outlook邮箱的使用技巧】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

Java基础27,28(多线程,ThreadMethod ,线程安全问题,线程状态,线程池)

目录 一、多线程 1. 概述 2. 进程与线程 2.1 程序 2.2 进程 2.3 线程 2.4 进程与线程的区别 3. 线程基本概念 4.并发与并行 5. 线程的创建方式 方式一:继承Thread类 方式二:实现Runable接口 方式三:实现Callable接口 方式四&…

完整状态码面试背

{"100": "继续","101": "切换协议","102": "处理中","103": "早期提示","200": "成功","201": "已创建","202": "已接受",&qu…

安徽某高校数据挖掘作业6

1 根据附件中year文件,编辑Python程序绘制年销售总额分布条形图和年净利润分布条形图,附Python程序和图像。 2 根据附件中quarter和quarter_b文件,编辑Python程序绘制2018—2020年销售额和净利润折线图,附Python程序和图像。 3 …

2025QS世界大学排行榜最新完整版

北京时间6月5日凌晨4点,QS官网发布了备受瞩目的2025年世界大学排名,本次排名共涵盖了1500所顶尖院校,让人们期待已久的排名榜单一览无遗,展现了全球高等教育的新格局。根据上大学网(www.sdaxue.com)统计&am…

HarmonyOS(二十三)——HTTP请求实战一个新闻列表

在前一篇文章,我们已经知道如何实现一个http请求的完整流程,今天就用官方列子实战一个简单的新闻列表。进一步掌握ArkTS的声明式开发范式,数据请求,常用系统组件以及touch事件的使用。 主要包含以下功能: 数据请求。…

delphi操作json

Super json文件 复制另存.pas 引用到项目 (* * Super Object Toolkit * * Usage allowed under the restrictions of the Lesser GNU General Public License * or alternatively the restrictions of the Mozilla Public License 1.1 * * Sof…

1103. 分糖果 II Rust等差求和+一元二次方程求根(击败100% Rust用户)

题目内容 排排坐,分糖果。 我们买了一些糖果 candies,打算把它们分给排好队的 n num_people 个小朋友。 给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。 然后,…

salesforce发送邮件时出现错误insufficient access rights on cross-reference id

当您在Salesforce中发送电子邮件时遇到“insufficient access rights on cross-reference id”错误,通常是由于以下原因之一引起的: 缺少对象权限:用户可能没有对相关对象(如案例、联系人、机会等)的适当访问权限。缺…

pnpm包管理器总结

一、概述 pnpm(performant npm)是一个高性能的包管理器,旨在解决npm和yarn等包管理器在依赖管理和磁盘空间使用上的常见问题。它的slogan是“Fast, disk space efficient package manager”,即快速、节省磁盘空间的包管理工具。 …

C语言中指针的说明

什么是指针? 在C语言当中,我们可以将指针理解为内存当中存储的地址,就像生活当中,一个小区里面,在小区里面有很单元,每一栋单元,单元内的房间有着不同的房间号,我们可以同过几栋几单…

Server did not offer supported security type!问题解决

1.问题介绍 出现这种问题是我想用MobaXterm中的VNC连接树莓派。输入IP地址后输入密码出现这种错误,但是我可以通过SSH进行正常连接,也可以通过另外一个VNC软件进行连接,但是为了方便切换,用一个软件就可以完成上述问题&#xff0c…

Docker 进入指定容器内部(以Mysql为例)

文章目录 一、启动容器二、查看容器是否启动三、进入容器内部 一、启动容器 这个就不多说了 直接docker run… 二、查看容器是否启动 查看正在运行的容器 docker ps查看所有的容器 docker ps -a结果如下图所示: 三、进入容器内部 通过CONTAINER ID进入到容器…