ChaosBlade常见问题之无法删除chaosblades.chaosblade.io如何解决

本文涉及的产品
云原生网关 MSE Higress,422元/月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
可观测监控 Prometheus 版,每月50GB免费额度
简介: ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:

问题一:sandbox mgr模块.jar \chaosblade-java-agent-0.1.0.jar


问题描述

当我执行“./blade prepare jvm-j/home/work/java8/jdk1.8.0_211--process 14585”时抛出异常

发生的问题

2019-07-23 11:58:45 default WARN loading module-jar occur error! module-jar=/home/work/chaosblade/chaosblade-0.1.0/lib/sandbox/module/chaosblade-java-agent-0.1.0.jar; java.io.IOException: No such file or directory at java.io.UnixFileSystem.createFileExclusively(Native Method) at java.io.File.createTempFile(File.java:2024) at java.io.File.createTempFile(File.java:2070) at com.alibaba.jvm.sandbox.core.classloader.ModuleJarClassLoader.copyToTempFile(ModuleJarClassLoader.java:42) at com.alibaba.jvm.sandbox.core.classloader.ModuleJarClassLoader.(ModuleJarClassLoader.java:49) at com.alibaba.jvm.sandbox.core.manager.impl.ModuleJarLoader.load(ModuleJarLoader.java:120) at com.alibaba.jvm.sandbox.core.manager.impl.ModuleLibLoader.load(ModuleLibLoader.java:76) at com.alibaba.jvm.sandbox.core.manager.impl.DefaultCoreModuleManager.reset(DefaultCoreModuleManager.java:590) at com.alibaba.jvm.sandbox.core.server.jetty.JettyCoreServer.bind(JettyCoreServer.java:196) at com.alibaba.jvm.sandbox.core.server.ProxyCoreServer.bind(ProxyCoreServer.java:39) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.alibaba.jvm.sandbox.agent.AgentLauncher.install(AgentLauncher.java:255) at com.alibaba.jvm.sandbox.agent.AgentLauncher.agentmain(AgentLauncher.java:108) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386) at sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:411)

如何复制

1、 准备tomcat服务并运行

2、 ./blade 准备jvm-j/home/work/java8/jdk1.8.0_211——进程pid

3、 查看sandbox日志

环境信息

tomcat 7 spring service1 spring version 4.3.12 os :centos CentOS release 6.4 (Final) blade version 0.1.0

原提问者GitHub用户wanglinan133


参考回答:

问题已解决 在 -Djava.io.tmpdir=/home///**Governance/temp 创建一个temp目录即可 一般这个目录是项目发布目录


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/520454


问题二:无法删除chaosblades.chaosblade.io


我一个月前安装了chaosblade 0.4.0 alpha,我发现无法删除chaosblades.chaosblade.io。当我今天想安装Chaosblad 0.4.0时,我删除了大约三个小时,但它只是保持删除状态,并没有真正删除。

我先执行helm delete,然后它建议我执行kubectl delete crd chaosblades.chaosblade.io

原提问者GitHub用户AnyuanLuo


参考回答:

您可以尝试以下命令重新安装:

1、 使用helm install--set blade.pullPolicy=Always--namespace kube system--name chaosblade operator chaosblade-operator-0.4.0.tgz--no crd hook安装chaosblad operator

2、 重新执行kubectl delete crd chaosblades.chaosblade.io命令以删除chaosblade crd。

3、 等待返回。如果超过5分钟仍未完成,请使用kubectl getblade-o json查看具体的实验信息。你也可以把结果发给我(x.caspar@gmail.com)

4、 如果删除crd成功,则执行helm delete--purge chaosblade操作符来删除chaosblad操作符。

5、 执行helm install--namespace kube system--name chaosblade operator chaosblade-operator-0.4.0.tgz以重新安装chaosblad operator。

原回答者GitHub用户xcaspar


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/520435


问题二:如何将chaosblade工具复制到k8s中的容器?


问题描述

“重点是,对运行中的容器(业务容器,没有 chaosblade 工具)如何做。”

请问你是怎么把故障注入到容器中的呢? 很多业务模块没有golang环境, 你是怎么让你构建故障的脚本在容器中生效的呢?

目前基础资源的故障程序不需要 golang 的环境,直接将工具 copy 到目标容器内执行。

我在前几期看到了这条评论,我想知道你是怎么做到的?容器启动时,您是否将chaosblade工具(如burncpu)放入容器中,这意味着这些工具与您的业务服务一起构建?或者您可以将这些工具动态复制到容器中?

我对chaos工程项目很感兴趣,提前感谢您的支持。

原提问者GitHub用户nkguoym


参考回答:

Dynamic copy chaosblade tools to the running container. You can see the code file: https://github.com/chaosblade-io/chaosblade-exec-docker/blob/master/exec/executor_execin.go


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/520433


问题四:chaosblade服务器模式是如何工作的?


chaosblade服务器模式是如何工作的?在哪里可以看到服务器模式的更多信息或源代码?


参考回答:

可以从下面链接中找到代码: https://github.com/chaosblade-io/chaosblade/tree/master/cli/cmd


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/520432


问题五:chaosblade在redis上做测试。


1、 我想在我的服务器的redis集群上做一些测试,chaosblade能做到吗?

2、 如果它能做到,我该如何执行它。


参考回答:

您必须在redis集群中的每台机器上部署chaosblade工具,并且您可以执行网络、cpu、进程实验来进行测试。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/520429


相关文章
|
6月前
|
安全 Java
掌握 Java IO 流:常见问题与解决方案
【4月更文挑战第4天】Java IO 流问题详解:文件读写失败(检查路径与权限)、字符编码错误(指定正确编码)、缓冲区使用不当(优化性能)、异常处理缺失(捕获并处理异常)、资源未释放(及时关闭流或用try-with-resources)、并发访问冲突(使用同步机制)和文件锁定(处理锁文件异常)。解决这些问题可提升程序稳定性与性能。
124 1
|
关系型数据库 分布式数据库 数据库
MSP430常见问题之IO端口类
Q1:请问430 的I/O 中断能不能可靠的响应60ns 的脉冲信号, 就是来了一个60ns 的脉冲,430 的中断会有丢失吗?A1:端口支持的最高8M的时钟,无法响应这么快的频率。 Q2:430是3.3V供电,如果我想使P2.7管脚置高,然后等待低电平中断。
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
4月前
|
Java 大数据
解析Java中的NIO与传统IO的区别与应用
解析Java中的NIO与传统IO的区别与应用
|
2月前
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
|
3月前
|
Java 数据处理
Java IO 接口(Input)究竟隐藏着怎样的神秘用法?快来一探究竟,解锁高效编程新境界!
【8月更文挑战第22天】Java的输入输出(IO)操作至关重要,它支持从多种来源读取数据,如文件、网络等。常用输入流包括`FileInputStream`,适用于按字节读取文件;结合`BufferedInputStream`可提升读取效率。此外,通过`Socket`和相关输入流,还能实现网络数据读取。合理选用这些流能有效支持程序的数据处理需求。
47 2
|
3月前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。
|
3月前
|
缓存 Java
【IO面试题 一】、介绍一下Java中的IO流
Java中的IO流是对数据输入输出操作的抽象,分为输入流和输出流,字节流和字符流,节点流和处理流,提供了多种类支持不同数据源和操作,如文件流、数组流、管道流、字符串流、缓冲流、转换流、对象流、打印流、推回输入流和数据流等。
【IO面试题 一】、介绍一下Java中的IO流
|
4月前
|
存储 缓存 Java
Java零基础入门之IO流详解(二)
Java零基础入门之IO流详解(二)