
An easy to use and powerful chaos engineering experiment toolkit.(알리바바가 오픈소스로 공개한 간단하고 사용하기 쉬우며 강력한 카오스 엔지니어링 실험 주입 도구)

Blade AI는 ChaosBlade 생태계 내에서 지능형 에이전트 계층 역할을 합니다. 기반 계층에서는 ChaosBlade를 호출하여 장애 주입을 실행하고, 상위 계층에서는 의도 이해, 보안 감사, 효과 검증, 안전한 복구, 구조화된 보고와 같은 오케스트레이션 기능을 통합합니다. 이를 통해 장애 훈련을 "명령을 수동으로 작성하는" 과정에서 "대화형 상호작용"을 통해 완료되는 과정으로 전환합니다.
자세한 내용은 Blade AI README를 참조하세요.
ChaosBlade는 카오스 엔지니어링 및 카오스 실험 모델의 원칙을 따르는 알리바바 오픈소스 실험 주입 도구로, 기업이 분산 시스템의 내결함성을 개선하고 클라우드 전환 또는 클라우드 네이티브 시스템으로의 이전 과정에서 비즈니스 연속성을 보장할 수 있도록 돕습니다.
Chaosblade는 MonkeyKing의 내부 오픈소스 프로젝트입니다. 알리바바의 약 10년간의 장애 테스트 및 훈련 실무를 기반으로 하며, 그룹 비즈니스의 최고의 아이디어와 사례를 결합합니다.
ChaosBlade는 사용하기 쉬울 뿐만 아니라 풍부한 실험 시나리오를 지원합니다. 시나리오는 다음과 같습니다:
시나리오를 도메인별로 개별 프로젝트로 캡슐화하면 해당 도메인의 시나리오를 표준화할 수 있을 뿐만 아니라 시나리오의 수평적·수직적 확장도 용이해집니다. 카오스 실험 모델을 따르므로 chaosblade cli를 통일된 방식으로 호출할 수 있습니다. 현재 포함된 항목은 다음과 같습니다:
이 가이드는 ChaosBlade를 사용하여 5분 이내에 Kubernetes에서 첫 번째 장애 주입을 실행할 수 있도록 안내합니다. 최소 예제로 Pod에 CPU 부하 장애를 주입해 보겠습니다.
시작하기 전에 다음 사항을 확인하세요:
kubectl cluster-info가 정상적으로 반환됨)default)blade 바이너리가 PATH에 있어야 함)Helm으로 운영자(operator)를 설치합니다:
helm install chaosblade-operator chaosblade-operator-<version>.tgz --namespace chaosblade --create-namespace
운영자가 실행 중인지 확인합니다:
kubectl get pods -n chaosblade
default 네임스페이스의 Pod에 CPU 전체 부하 장애를 실행합니다:
blade create k8s pod-cpu fullload --cpu-percent 80 --kubeconfig ~/.kube/config --names <pod-name> --namespace default
주입에 성공하면 ChaosBlade는 실험 uid가 포함된 JSON 결과를 반환합니다. 이 uid를 저장해 두면 나중에 상태를 확인하거나 실험을 삭제할 수 있습니다:
{"code":200,"success":true,"result":"<experiment-uid>"}
blade status <experiment-uid>
훈련 후에는 항상 복구를 실행하여 대상을 정상 상태로 되돌리세요:
blade destroy <experiment-uid>
끝입니다! 주입-검증-복구 전체 사이클을 완료했습니다. 더 많은 시나리오를 살펴보려면 blade create k8s -h를 실행하거나 클라우드 네이티브 환경에서의 카오스 엔지니어링 실무를 참조하세요.
최신 chaosblade 툴킷은 Releases에서 다운로드하여 압축을 풀고 사용할 수 있습니다. Kubernetes 관련 장애 시나리오를 주입하려면 chaosblade-operator를 설치해야 합니다. 자세한 중국어 사용 문서는 chaosblade-help-zh-cn 을 참조하세요.
chaosblade는 CLI 및 HTTP 호출 방식을 지원합니다. 지원되는 명령은 다음과 같습니다:
blade p jvm --process business를 실행합니다. attach에 성공하면 상태 조회 또는 agent 해제(revoke)를 위한 uid를 반환합니다.blade revoke UID입니다.blade create [TARGET] [ACTION] [FLAGS]입니다. 예를 들어 Dubbo consumer가 xxx.xxx.Service 인터페이스를 호출할 때 3초 지연을 구현하려면 blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service를 실행합니다. 주입에 성공하면 상태 조회 및 실험 삭제를 위한 실험 uid를 반환합니다.blade destroy UID를 실행합니다.blade status UID 또는 blade status --type create입니다.blade server start -p 9526을 실행하여 CPU 전체 부하 실험을 수행합니다: curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload" blade help [COMMAND] 또는 blade [COMMAND] -h 명령을 사용하여 도움말을 확인할 수 있습니다.
chaosblade 데모 이미지를 다운로드하여 blade 툴킷 사용을 체험해 보세요.

이미지 다운로드 명령:
docker pull chaosbladeio/chaosblade-demo
데모 컨테이너 실행:
docker run -it --privileged chaosbladeio/chaosblade-demo
컨테이너에 진입한 후 README.txt 파일을 읽고 카오스 실험을 수행할 수 있습니다. 즐거운 체험 되세요.