v0.7.0
The long-awaited v0.7.0 version is released~, especially the kubernetes chaos experiment scenarios have been enhanced, and the new features are as follows:
- Support all drill scenarios of Java under kubernetes;
- Added file chaos experiment scenarios;
- Added ssh execution channel, which can remotely execute chaos experiments on the target host;
- Optimize the implementation of kubernetes scenarios, only need to deploy a chaosblade-operator pod to achieve a general chaos experiment, add
--set damonset.enable=false
during installation; for the target Pod or container in the network scenarios where the network permissions or commands are missing, you can Use-set damonset.enable=true
to solve; - The kubernetes scenarios execute on-demand deployment of plug-ins, and the execution speed is greatly improved;
- There are many known bug fixes and scenarios optimization;
Welcome to use.
Features/Enhancements
- Support pod starting failed experiment.(chaosblade-io/chaosblade-operator#30 )
- Support
container-index
flag to specify container. (chaosblade-io/chaosblade-operator#36 ) - Replace ssh channel to kubernetes api for node chaos experiments. (chaosblade-io/chaosblade-operator#38 )
- Optimize chaos experiments execution. (chaosblade-io/chaosblade-operator#41, chaosblade-io/chaosblade-operator#42 )
- Support exclude-process flag in killing process experiment. (chaosblade-io/chaosblade-exec-os#34 )
- Replace ps command to gopsutil. (chaosblade-io/chaosblade-exec-os#35 )
- Add
--include-buffer-cache
flag for mem experiment. (chaosblade-io/chaosblade-exec-os#37 ) - Add file chaos experiments. (chaosblade-io/chaosblade-exec-os#39 )
- Add cpu climb time feature. (chaosblade-io/chaosblade-exec-os#40 )
- Support file content encoded by base64 in file chaos experiments. (chaosblade-io/chaosblade-exec-os#45 )
- Support ssh channel to execute chaos experiments. (chaosblade-io/chaosblade-exec-os#51, chaosblade-io/chaosblade-exec-os#53 )
- Add programs field in experiment model and split yaml with bin file. (chaosblade-io/chaosblade-exec-os#55 )
- Support file chaos experiments for docker. (chaosblade-io/chaosblade-exec-docker#10 )
- Improvement fail inject to non-root container. (chaosblade-io/chaosblade-exec-docker#9 )
- Support dubbo generic invoke.
- Support Okhttp3 plugin. (chaosblade-io/chaosblade-exec-jvm#131 )
- Add rabbitmq plugin. (chaosblade-io/chaosblade-exec-jvm#132 )
- Replace fastjson to jackon. (chaosblade-io/chaosblade-exec-jvm#133 )
- Add programs field in model specfication. (chaosblade-io/chaosblade-exec-jvm#136 )
- Refactor chaosblade-exec-cplus project codes to golang language. (chaosblade-io/chaosblade-exec-cplus#5 )
- Improvement the action use cases. (chaosblade-io/chaosblade-operator#37 ,chaosblade-io/chaosblade-exec-os#49,chaosblade-io/chaosblade-exec-jvm#134)
Bug Fixes
- Fix network experiments don't take effect using destination-ip and exclude-port. (chaosblade-io/chaosblade-exec-os#41 )
- Fix stopping memory load without mode flag. (chaosblade-io/chaosblade-exec-os#48 )
- Fix stopping disk io burning failed. (chaosblade-io/chaosblade-exec-os#50 )
- Fix the
BeforeEnhancer
is still executed when destroying. - Fix psql plugin does not get the database field.
- Fix jvm return aciton, if expression parameter is double type add overflow.
Others
- Reduce the operator image size. (chaosblade-io/chaosblade-operator#39 )
- Slim down the blade toolkit. (chaosblade-io/chaosblade-exec-os#52 )
- Delete ifconfig command validation. (chaosblade-io/chaosblade-exec-os#56 )
- Improvement on the CONTRIBUTING.md file. (chaosblade-io/chaosblade-exec-jvm#126 )
- Add doc design.md plugin.md quick-start.md and improvement servlet plugin. (chaosblade-io/chaosblade-exec-jvm#127 )
Thanks for the contributors: @Ghostbaby @lvchazaizai @CZACKER @tiny-x @xcaspar @anje123 @tiny-x @pengpj @raygenyang @nic-6443
Helm v2
Install
Download chaosblade-operator-0.7.0-v2.tgz to install.
helm install --namespace chaosblade --name chaosblade-operator chaosblade-operator-0.7.0-v2.tgz
Important!!
If you have previously installed pre version, please note the following:
- Before installing the new version, please execute
kubectl delete crd chaosblades.chaosblade.io
first. If no results are returned for a long time, please execute the following command:
blades=($(kubectl get blade | grep -v NAME | awk '{print $1}' | tr '\n' ' ')) && kubectl patch blade $blades --type merge -p '{"metadata":{"finalizers":[]}}'
- Execute
helm del --purge chaosblade-operator
command to delete previous version. - Execute
helm install
command to re-install.
Uninstall
kubectl delete crd chaosblades.chaosblade.io
command must be executed first. If no results are returned for a long time, please execute the following command:
blades=($(kubectl get blade | grep -v NAME | awk '{print $1}' | tr '\n' ' ')) && kubectl patch blade $blades --type merge -p '{"metadata":{"finalizers":[]}}'
Then execute helm del --purge chaosblade-operator
command.
Helm v3
Install
Download chaosblade-operator-0.7.0-v3.tgz package to install.
helm install chaosblade-operator chaosblade-operator-0.7.0-v3.tgz --namespace chaosblade
Uninstall
Same as v2.
Image Repository
Default image repository is chaosbladeio/chaosblade-tool
and chaosbladeio/chaosblade-operator
, you can append --set blade.repository
or --set operator.repository
flag to change the image repository. For examples:
helm install --set blade.repository=chaosbladeio/chaosblade-tool --set operator.repository=chaosbladeio/chaosblade-operator --namespace chaosblade --name chaosblade-operator chaosblade-operator-0.7.0-v2.tgz
Other download addresses
aliyun oss
chaosblade-0.7.0-linux-amd64.tar.gz
chaosblade-0.7.0-linux-arm64.tar.gz
chaosblade-0.7.0-darwin-amd64.tar.gz
chaosblade-operator-0.7.0-v2.tgz
chaosblade-operator-0.7.0-v3.tgz
Docker images
chaosblade-tool:0.7.0
registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-tool:0.7.0
chaosbladeio/chaosblade-tool:0.7.0 (hub.docker.com)
chaosblade-operator:0.7.0
registry.cn-hangzhou.aliyuncs.com/chaosblade/chaosblade-operator:0.7.0
chaosbladeio/chaosblade-operator:0.7.0 (hub.docker.com)