中文版 Readme
ChaoSblade es una herramienta de inyección experimental de código abierto de Alibaba que sigue los principios de la ingeniería del caos y los modelos experimentales del caos para ayudar a las empresas a mejorar la tolerancia a fallas de los sistemas distribuidos y garantizar la continuidad del negocio durante el proceso de empresas que van a la nube o moverse a los sistemas nativos de la nube.
ChaoSblade es un proyecto de código abierto interno de mono. Se basa en los casi diez años de pruebas de fallas y práctica de simulacro de Alibaba, y combina las mejores ideas y prácticas de los negocios del grupo.
La caosblade no solo es fácil de usar, sino que también admite escenarios experimentales ricos. Los escenarios incluyen:
La encapsulación de escenas por dominio en proyectos individuales no solo puede estandarizar las escenas en el dominio, sino también facilitar la expansión horizontal y vertical de las escenas. Siguiendo el modelo experimental del caos, la CLI de la caosblade se puede llamar uniformemente. Los artículos actualmente incluidos son:
Puede descargar el último kit de herramientas de Chaosblade de los lanzamientos y extraerlo y usarlo. Si desea inyectar escenarios de falla relacionados con Kubernetes, debe instalar el operador de chaosblade. Para obtener documentos de uso chinos detallados, consulte Chaosblade-Help-Zh-CN.
La caosblade admite métodos de invocación CLI y HTTP. Los comandos compatibles son los siguientes:
blade p jvm --process business
en el host Target. Si el adjunto es exitoso, devuelva el UID para la consulta de estado o el revocación del agente.blade revoke UID
blade create [TARGET] [ACTION] [FLAGS]
. Por ejemplo, si implementa una llamada de consumo dubbo xxx.xxx.service interface demora 3s, el comando ejecutado es blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service
, si la inyección es exitosa, return, return, return, regrese El UID experimental para la consulta de estado y destruir el experimento.blade destroy UID
blade status UID
o blade status --type create
blade server start -p 9526
para realizar un experimento de carga completa de la CPU: curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"
Use el comando blade help [COMMAND]
o blade [COMMAND] -h
para ver la ayuda
Descargue la imagen de demostración de ChaoSblade y experimente el uso del kit de herramientas Blade
Descargar el comando de imagen:
docker pull chaosbladeio/chaosblade-demo
Ejecute el contenedor de demostración:
docker run -it --privileged chaosbladeio/chaosblade-demo
Después de ingresar al contenedor, puede leer el archivo ReadMe.txt para implementar el experimento del caos, disfrútelo.
Operador de caosblade El proyecto es una herramienta de inyección de experimentos Chaos para plataformas nativas de nube. Sigue el modelo de experimento Chaos para estandarizar el escenario experimental y define el experimento como recursos de Kubernetes CRD, mapeando modelos experimentales a los atributos de recursos de Kubernetes y una combinación muy amigable de modelos experimentales caóticos con diseño declarativo de Kubernetes. Si bien depende de los modelos experimentales caóticos para desarrollar escenarios convenientemente, también puede integrar bien los conceptos de diseño de Kubernetes, a través de Kubectl o escribir código para llamar directamente a la API de Kubernetes para crear, actualizar y eliminar experimentos caóticos, y el estado de los recursos puede indicar claramente la ejecución claramente de la ejecución. Estado del experimento y estandarizar la inyección de falla de Kubernetes. Además de usar los métodos anteriores para realizar experimentos, también puede usar el método CLI de ChaoSblade para ejecutar escenarios experimentales de Kubernetes y consultar el estado experimental muy convenientemente. Para obtener más detalles, lea el documento chino: Práctica de ingeniería del caos bajo Nube Native
Este proyecto está escrito en Golang, por lo que primero debe instalar la última versión de Golang. La versión mínima compatible es 1.11. Después del proyecto Clon, ingrese el directorio del proyecto y ejecute el siguiente comando para compilar:
make
Si está en un sistema Mac, compile la versión actual del sistema, ejecute:
make build_darwin
Si desea compilar la versión del sistema Linux en el sistema Mac, ejecute:
make build_linux
También puede compilar selectivamente, por ejemplo, solo necesita compilar escenas de CLI y OS, luego ejecutar:
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 Instalar chaosblade-bin
yay -S chaosblade-bin
Para el informe de errores, las preguntas y las discusiones, envíe los problemas de GitHub.
También puede contactarnos a través de:
Agradecemos cada contribución, incluso si es solo puntuación. Vea los detalles de la contribución. Para la escalera de promoción de estudiantes específicos de participación comunitaria, ver: (Escala de contribuyentes)
La intención original de nuestro proyecto de código abierto es reducir el umbral para que el Chaos Engineering se implemente en empresas, por lo que valoramos mucho el uso del proyecto en empresas. Bienvenido a todos los problemas de aquí. Después del registro, se le invitará a unirse al grupo de correo corporativo para discutir los problemas encontrados por el caos ingeniería en el aterrizaje de la compañía y compartir la experiencia de aterrizaje.
Este proyecto existe gracias a todas las personas que contribuyen. [Contribuir].
ChaoSblade tiene licencia bajo la licencia Apache, versión 2.0. Vea la licencia para el texto completo de la licencia.