中文版 Readme
Chaosblade est un outil d'injection expérimental open source d'alibaba qui suit les principes des modèles expérimentaux d'ingénierie du chaos et du chaos pour aider les entreprises à améliorer la tolérance aux pannes des systèmes distribués et à assurer la continuité des activités pendant le processus d'entreprise à aller dans le cloud ou à se déplacer vers le cloud Native Systems.
Chaosblade est un projet interne open source de singe. Il est basé sur près de dix ans de tests d'échec et de pratique de défaillance d'Alibaba, et combine les meilleures idées et pratiques des entreprises du groupe.
Chaosblade est non seulement facile à utiliser, mais prend également en charge de riches scénarios expérimentaux. Les scénarios incluent:
Les scènes encapsulantes par domaine dans des projets individuels peuvent non seulement standardiser les scènes du domaine, mais aussi faciliter l'expansion horizontale et verticale des scènes. En suivant le modèle expérimental du chaos, la CLI chaosblade peut être appelée uniformément. Les articles actuellement inclus sont:
Vous pouvez télécharger la dernière boîte à outils Chaosblade à partir des versions et l'extraire et l'utiliser. Si vous souhaitez injecter des scénarios de défaut liés à Kubernetes, vous devez installer Chaosblade-Operator. Pour des documents d'utilisation chinois détaillés, veuillez consulter Chaosblade-Help-Zh-CN.
Chaosblade prend en charge les méthodes d'invocation CLI et HTTP. Les commandes prises en charge sont les suivantes:
blade p jvm --process business
sur l'hôte cible. Si l'attachement réussit, retournez l'UID pour la requête de statut ou le révocation de l'agent.blade revoke UID
blade create [TARGET] [ACTION] [FLAGS]
. Par exemple, si vous implémentez un appel de consommation Dubbo xxx.xxx.service Interface Delay 3s, la commande exécutée est blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service
, si l'injection est réussie, retournez L'UID expérimental pour la requête de statut et détruise l'expérience.blade destroy UID
blade status UID
ou blade status --type create
blade server start -p 9526
Pour effectuer une expérience de charge complète CPU: curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload"
Utilisez la commande blade help [COMMAND]
ou blade [COMMAND] -h
pour afficher l'aide
Téléchargez l'image de démo Chaosblade et expérimentez l'utilisation de la boîte à outils lame
Télécharger l'image Commande :
docker pull chaosbladeio/chaosblade-demo
Exécutez le conteneur de démonstration:
docker run -it --privileged chaosbladeio/chaosblade-demo
Après être entré dans le conteneur, vous pouvez lire le fichier readme.txt pour implémenter l'expérience du chaos, profitez-en.
Chaosblade-Operator Le projet est un outil d'injection d'expérience du chaos pour les plates-formes natives du cloud. Il suit le modèle d'expérience du chaos pour standardiser le scénario expérimental et définit l'expérience comme des ressources CRD Kubernetes, cartographier des modèles expérimentaux aux attributs de ressources de Kubernetes et une combinaison très conviviale de modèles expérimentaux chaotiques avec une conception déclarative de Kubernetes. Tout en s'appuyant sur des modèles expérimentaux chaotiques pour développer facilement les scénarios, il peut également bien intégrer les concepts de conception de Kubernetes, via Kubectl ou écrire du code pour appeler directement l'API Kubernetes pour créer, mettre à jour et supprimer des expériences chaotiques, et l'état des ressources peut clairement indiquer l'exécution Statut de l'expérience et standardiserait l'injection de défaut de Kubernetes. En plus d'utiliser les méthodes ci-dessus pour effectuer des expériences, vous pouvez également utiliser la méthode CLI Chaosblade pour exécuter des scénarios expérimentaux de Kubernetes et interroger le statut expérimental très commodément. Pour plus de détails, veuillez lire le document chinois: Pratique d'ingénierie du chaos sous Cloud Native
Ce projet est écrit en Golang, vous devez donc d'abord installer la dernière version de Golang. La version prise en charge minimale est 1.11. Après le projet Clone, entrez le répertoire du projet et exécutez la commande suivante pour compiler:
make
Si sur un système Mac, compilez la version système actuelle, exécutez:
make build_darwin
Si vous souhaitez compiler la version du système Linux sur Mac System, exécutez:
make build_linux
Vous pouvez également compiler sélectivement, par exemple, vous n'avez qu'à compiler les scènes CLI et OS, puis exécuter:
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 installer chaosblade-bin
yay -S chaosblade-bin
Pour le rapport de bogue, les questions et les discussions, veuillez soumettre des problèmes de github.
Vous pouvez également nous contacter via:
Nous accueillons chaque contribution, même si ce n'est que de ponctuation. Voir les détails de la contribution. Pour l'échelle de promotion d'étudiants spécifiques à la participation communautaire, voir: (échelle contributeur)
L'intention initiale de notre projet open source est de réduire le seuil pour que le chaos d'ingénierie soit mis en œuvre dans les entreprises, nous apprécions donc fortement l'utilisation du projet dans les entreprises. Bienvenue à tous le numéro ici. Après l'inscription, vous serez invité à rejoindre le groupe de messagerie d'entreprise pour discuter des problèmes rencontrés par le chaos Engineering dans le débarquement de l'entreprise et partager l'expérience d'atterrissage.
Ce projet existe grâce à toutes les personnes qui contribuent. [Contribuer].
Chaosblade est concédé sous licence Apache, version 2.0. Voir la licence pour le texte complet de licence.