中文版 readme
Chaosblade는 Alibaba 오픈 소스 실험 주입 도구로, 혼돈 엔지니어링 및 카오스 실험 모델의 원칙을 따릅니다. 기업은 분산 시스템의 결함 허용 오류를 개선하고 기업이 클라우드로 이동하거나 클라우드 기본 시스템으로 이동하는 과정에서 비즈니스 연속성을 보장 할 수 있도록 도와줍니다.
Chaosblade는 Monkeyking의 내부 오픈 소스 프로젝트입니다. 알리바바의 거의 10 년간의 실패 테스트 및 드릴 연습을 기반으로하며 그룹 비즈니스의 최고의 아이디어와 관행을 결합합니다.
Chaosblade는 사용하기 쉽뿐만 아니라 풍부한 실험 시나리오도 지원합니다. 시나리오에는 다음이 포함됩니다.
도메인별로 장면을 개별 프로젝트로 캡슐화하면 도메인의 장면을 표준화 할뿐만 아니라 장면의 수평 및 수직 확장을 용이하게 할 수 있습니다. 카오스 실험 모델을 따르면 카오스 블레이드 CLI를 균일하게 호출 할 수 있습니다. 현재 포함 된 항목은 다음과 같습니다.
릴리스에서 최신 카오스 블레이드 툴킷을 다운로드하여 추출하여 사용할 수 있습니다. Kubernetes 관련 결함 시나리오를 주입하려면 Chaosblade-Operator를 설치해야합니다. 자세한 중국 사용 문서는 Chaosblade-Help-Zh-CN을 참조하십시오.
Chaosblade는 CLI 및 HTTP 호출 방법을 지원합니다. 지원되는 명령은 다음과 같습니다.
blade p jvm --process business
실행하십시오. 첨부가 성공하면 상태 쿼리 또는 에이전트 철회에 대한 UID를 반환하십시오.blade revoke UID
입니다blade create [TARGET] [ACTION] [FLAGS]
입니다. 예를 들어, Dubbo 소비자 전화 xxx.xxx를 구현하는 경우 서비스 인터페이스 지연 3S를 실행하는 명령은 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 데모 이미지를 다운로드하고 블레이드 툴킷 사용을 경험하십시오.
이미지 명령 다운로드 :
docker pull chaosbladeio/chaosblade-demo
데모 컨테이너 실행 : :
docker run -it --privileged chaosbladeio/chaosblade-demo
컨테이너에 들어간 후 Readme.txt 파일을 읽고 혼돈 실험을 구현하고 즐길 수 있습니다.
Chaosblade-Operator이 프로젝트는 클라우드 네이티브 플랫폼을위한 카오스 실험 주입 도구입니다. Chaos 실험 모델을 따라 실험 시나리오를 표준화하고 실험을 Kubernetes CRD 리소스로 정의하고 실험 모델을 Kubernetes 리소스 속성에 매핑하고 Kubernetes 선언 설계와 혼돈 실험 모델의 매우 친절한 조합을 정의합니다. 혼란스러운 실험 모델에 의존하여 시나리오를 편리하게 개발하는 동안 KubeTl 또는 Write Code를 통해 Kubernetes 디자인 개념을 통합하여 Kubernetes API를 직접 호출하여 혼란 실험을 생성, 업데이트 및 삭제할 수 있으며 리소스 상태는 실행을 명확하게 나타낼 수 있습니다. 실험 상태 및 Kubernetes 결함 주입을 표준화하십시오. 위의 방법을 사용하여 실험을 수행하는 것 외에도 Chaosblade CLI 방법을 사용하여 Kubernetes 실험 시나리오를 실행하고 실험 상태를 매우 편리하게 쿼리 할 수도 있습니다. 자세한 내용은 중국어 문서를 읽으십시오 : Cloud Native의 Chaos Engineering Practice
이 프로젝트는 Golang으로 작성되었으므로 최신 Golang 버전을 먼저 설치해야합니다. 최소 지원 버전은 1.11입니다. 클론 프로젝트 후 프로젝트 디렉토리를 입력하고 다음 명령을 실행하려면 다음과 같습니다.
make
Mac 시스템에서 현재 시스템 버전을 컴파일하고 실행하십시오.
make build_darwin
Mac 시스템에서 Linux 시스템 버전을 컴파일하려면 다음을 수행하십시오.
make build_linux
예를 들어 선택적으로 컴파일 할 수 있습니다. 예를 들어 CLI 및 OS 장면 만 컴파일 한 다음 실행하면됩니다.
make build_with cli os
# If it is a mac system, run
make build_with cli os_darwin
# If you want to compile linux system version selectively, execute:
ARGS= " cli os " make build_with_linux
아치 리눅스를 설치합니다
yay -S chaosblade-bin
버그 보고서, 질문 및 토론은 Github 문제를 제출하십시오.
다음을 통해 저희에게 연락 할 수도 있습니다.
우리는 그것이 구두점 일지라도 모든 기여를 환영합니다. 기여의 세부 사항을 참조하십시오. 특정 커뮤니티 참여 학생의 프로모션 사다리에 대해서는 : (기고자 사다리)를 참조하십시오.
오픈 소스 프로젝트의 원래 의도는 Chaos Engineering이 기업에서 구현 될 임계 값을 낮추는 것입니다. 따라서 우리는 기업에서 프로젝트의 사용을 높이 평가하는 것입니다. 여기에서 모두를 환영합니다. 등록 후 회사의 착륙에서 Chaos Engineering이 직면 한 문제를 논의하고 착륙 경험을 공유하기 위해 회사 메일 그룹에 가입하도록 초대됩니다.
이 프로젝트는 기부 한 모든 사람들 덕분에 존재합니다. [기여하다].
Chaosblade는 Apache 라이센스 버전 2.0에 따라 라이센스가 부여됩니다. 정식 라이센스 텍스트는 라이센스를 참조하십시오.