中文版 Readme
O Chaosblade é uma ferramenta de injeção experimental de código aberto do Alibaba que segue os princípios dos modelos experimentais de engenharia do caos e caos para ajudar as empresas a melhorar a tolerância a falhas dos sistemas distribuídos e garantir a continuidade dos negócios durante o processo de empresas que vão para a nuvem ou a mudança para os sistemas nativos em nuvem.
Chaosblade é um projeto interno de código aberto de macacos. Baseia -se nos quase dez anos de teste de falhas e prática de falhas do Alibaba e combina as melhores idéias e práticas dos negócios do grupo.
O Chaosblade não é apenas fácil de usar, mas também suporta ricos cenários experimentais. Os cenários incluem:
A encapsulação de cenas por domínio em projetos individuais pode não apenas padronizar as cenas no domínio, mas também facilitar a expansão horizontal e vertical das cenas. Seguindo o modelo experimental do caos, o CLI da Chaosblade pode ser chamado de uniformemente. Os itens atualmente incluídos são:
Você pode baixar o mais recente kit de ferramentas do Chaosblade de lançamentos e extraí -lo e usá -lo. Se você deseja injetar cenários de falha relacionados ao Kubernetes, precisará instalar o Chaosblade-Operator. Para documentos de uso chinês detalhados, consulte Chaosblade-Help-Zh-CN.
O Chaosblade suporta métodos de invocação CLI e HTTP. Os comandos suportados são os seguintes:
blade p jvm --process business
no host de destino. Se o anexo for bem -sucedido, retorne o UID para uma consulta de status ou o agente revogue.blade revoke UID
blade create [TARGET] [ACTION] [FLAGS]
. Por exemplo, se você implementar um Dubbo Consumer Ligue para XXX.XXX.SERVICE Atraso da interface 3s, o comando executado é blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service
, se a injeção for bem -sucedida, retornar O UID experimental para consulta de status e destruir o experimento.blade destroy UID
blade status UID
ou blade status --type create
blade server start -p 9526
para executar um experimento de carga completa da CPU: curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"
Use a blade help [COMMAND]
ou blade [COMMAND] -h
Comando para ver a ajuda
Faça o download da imagem da demonstração do Chaosblade e experimente o uso do Blade Toolkit
Baixar comando de imagem:
docker pull chaosbladeio/chaosblade-demo
Execute o contêiner de demonstração:
docker run -it --privileged chaosbladeio/chaosblade-demo
Depois de entrar no contêiner, você pode ler o arquivo readme.txt para implementar o experimento do caos, aproveite.
Chaosblade-Operator O projeto é uma ferramenta de injeção de experimento de caos para plataformas nativas da nuvem. Segue -se o modelo de experimento do caos para padronizar o cenário experimental e define o experimento como recursos da Kubernetes CRD, mapeando modelos experimentais para atributos de recursos de Kubernetes e combinação muito amigável de modelos experimentais caóticos com design declarativo de Kubernetes. Ao confiar em modelos experimentais caóticos para desenvolver convenientemente cenários, ele também pode muito bem integrar conceitos de design de Kubernetes, através de Kubectl ou escrever código para chamar diretamente a API Kubernetes para criar, atualizar e excluir experimentos caóticos, e o status de recurso pode indicar claramente a exposição status do experimento e padronize a injeção de falha de Kubernetes. Além de usar os métodos acima para realizar experimentos, você também pode usar o método CLI Chaosblade para executar cenários experimentais de Kubernetes e consultar o status experimental de maneira muito conveniente. Para detalhes, leia o documento chinês: Prática de engenharia do caos sob a nuvem nativa
Este projeto está escrito em Golang, então você precisa instalar a versão mais recente do Golang primeiro. A versão mínima suportada é 1.11. Após o Projeto Clone, insira o diretório do projeto e execute o seguinte comando para compilar:
make
Se em um sistema MAC, compila a versão atual do sistema, execute:
make build_darwin
Se você deseja compilar a versão do sistema Linux no sistema Mac, execute:
make build_linux
Você também pode compilar seletivamente, por exemplo, você só precisa compilar cenas de CLI e OS e executar:
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
Arch Linux Instale o caosblade-bin
yay -S chaosblade-bin
Para relatório de bugs, perguntas e discussões, envie questões do GitHub.
Você também pode entrar em contato conosco por meio de:
Congratulamo -nos com todas as contribuições, mesmo que sejam apenas pontuação. Veja detalhes de contribuição. Para a escada de promoção de estudantes específicos de participação da comunidade, consulte: (Escada colaboradora)
A intenção original do nosso projeto de código aberto é diminuir o limite para que a engenharia do caos seja implementada nas empresas, para que valorizemos muito o uso do projeto nas empresas. Bem -vindo a todos aqui em edição. Após o registro, você será convidado a ingressar no grupo de correio corporativo para discutir os problemas encontrados pela Engenharia do Chaos no desembarque da empresa e compartilhar a experiência de desembarque.
Este projeto existe graças a todas as pessoas que contribuem. [Contribuir].
O Chaosblade é licenciado sob a licença Apache, versão 2.0. Consulte a licença para o texto completo da licença.