Aller au contenu principal
Version : Suivant

Fonctionnalités de base

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Ce document décrit les fonctionnalités de base de Chaos Mesh, notamment l'injection de fautes, les workflows Chaos, les opérations visualisées et les garanties de sécurité.

Injection de fautes

L'injection de fautes est au cœur des expériences Chaos. Chaos Mesh couvre toute la gamme des défaillances susceptibles de survenir dans un système distribué, avec trois types de fautes complets et granulaires : fautes sur ressources de base, fautes de plateforme et fautes applicatives.

  • Fautes sur ressources de base :

    • PodChaos : simule des défaillances de Pod, comme le redémarrage d'un nœud Pod, l'indisponibilité persistante d'un Pod ou des défaillances spécifiques de conteneurs dans un Pod donné.
    • NetworkChaos : simule des défaillances réseau comme des latences, pertes de paquets, désorganisation de paquets ou partitions réseau.
    • DNSChaos : simule des échecs DNS, comme l'échec de résolution de noms de domaine ou le retour d'adresses IP incorrectes.
    • HTTPChaos : simule des défaillances de communication HTTP, comme des latences de communication HTTP.
    • StressChaos : simule une contention CPU ou mémoire.
    • IOChaos : simule des défaillances I/O sur des fichiers applicatifs, comme des délais d'E/S ou des échecs de lecture/écriture.
    • TimeChaos : simule des anomalies de saut temporel.
    • KernelChaos : simule des défaillances du noyau, comme des exceptions d'allocation mémoire applicative.
  • Fautes de plateforme :

    • AWSChaos : simule des défaillances de la plateforme AWS, comme le redémarrage de nœuds AWS.
    • GCPChaos : simule des défaillances de la plateforme GCP, comme le redémarrage de nœuds GCP.
  • Fautes applicatives :

    • JVMChaos : simule des défaillances d'applications JVM, comme des délais d'appel de fonction.

Workflows Chaos

Un workflow Chaos comprend un ensemble d'expériences Chaos et une vérification de l'état applicatif, vous permettant ainsi de mener à bien un projet complet de chaos engineering sur la plateforme.

Les workflows Chaos vous permettent d'exécuter une série d'expériences Chaos tout en élargissant progressivement le rayon d'explosion (y compris la portée des attaques) et en diversifiant les types de défaillances. Après l'exécution d'un workflow Chaos, vous pouvez visualiser facilement l'état applicatif via Chaos Mesh et décider de la conduite à tenir pour les expériences ultérieures. Parallèlement, pour réduire le coût de maintenance des workflows Chaos, vous pouvez enrichir continuellement votre bibliothèque d'expériences et réutiliser des workflows existants dans d'autres contextes.

Actuellement, les workflows Chaos offrent les fonctionnalités suivantes :

  • Orchestration d'expériences Chaos séquentielles

  • Orchestration d'expériences Chaos parallèles

  • Vérification de l'état et des résultats des expériences

  • Possibilité de suspendre une expérience Chaos

  • Définition et gestion des workflows Chaos via des fichiers YAML

  • Définition et gestion des workflows Chaos via l'interface web

Pour configurer un workflow spécifique, consultez Créer un workflow Chaos Mesh.

Opérations visualisées

Chaos Mesh intègre le composant Chaos Dashboard pour des opérations visualisées, simplifiant considérablement les expériences Chaos. Vous pouvez gérer et superviser une expérience Chaos directement via l'interface visuelle. Par exemple, en quelques clics, vous pouvez définir le périmètre d'une expérience, spécifier le type d'injection, configurer des règles de planification et consulter les résultats.

Workflow Chaos
Workflow Chaos

Garanties de sécurité

Chaos Mesh gère les permissions en utilisant la fonctionnalité native RBAC de Kubernetes.

Vous pouvez librement créer plusieurs rôles selon vos besoins réels en matière de permissions, lier ces rôles au compte de service utilisateur, puis générer le jeton correspondant au compte de service. Lorsque vous vous connectez au Dashboard avec ce jeton, vous ne pouvez effectuer que des expériences Chaos dans les limites des permissions accordées par le compte de service.

De plus, vous pouvez spécifier les namespaces autorisant les expériences Chaos en définissant les annotations de namespace, ce qui renforce le contrôle des expériences Chaos.