Aller au contenu principal
Version : 2.6.7

Configurer l'espace de noms pour les expériences de chaos

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 chapitre vous explique comment configurer les expériences de chaos pour qu'elles ne s'appliquent que dans l'espace de noms spécifié, tout en protégeant les autres espaces de noms non spécifiés contre l'injection de fautes.

Contrôler la portée des expériences de chaos

Chaos Mesh propose deux méthodes pour contrôler la portée des expériences de chaos :

  • Pour configurer les expériences de chaos afin qu'elles ne s'appliquent que dans l'espace de noms spécifié, vous devez activer la fonctionnalité FilterNamespace (désactivée par défaut). Cette fonctionnalité s'applique à l'échelle globale. Une fois activée, vous pouvez ajouter des annotations à l'espace de noms autorisé pour les expériences de chaos. Les autres espaces de noms sans annotation sont protégés contre l'injection de fautes.

  • Pour spécifier la portée d'une expérience de chaos individuelle, consultez Définir la portée d'une expérience de chaos.

Activer FilterNamespace

Si vous n'avez pas encore installé Chaos Mesh, vous pouvez activer cette fonctionnalité lors de l'installation en ajoutant --set controllerManager.enableFilterNamespace=true à la commande d'installation Helm. Voici un exemple de commande dans un conteneur Docker :

note

Lorsque vous utilisez Helm pour l'installation, les commandes et paramètres varient selon les conteneurs. Consultez Installer Chaos Mesh avec Helm pour plus d'informations.

Si vous avez déjà installé Chaos Mesh avec Helm, vous pouvez activer cette fonctionnalité en mettant à jour la configuration avec la commande helm upgrade. Par exemple :

Pour helm upgrade, vous pouvez définir plusieurs paramètres en ajoutant plusieurs --set dans la commande. Les paramètres ultérieurs remplacent les précédents. Par exemple, si vous ajoutez --set controllerManager.enableFilterNamespace=false -set controllerManager.enableFilterNamespace=true dans la commande, la fonctionnalité restera activée.

Vous pouvez également spécifier un fichier YAML avec le paramètre -f pour décrire la configuration. Consultez Mise à niveau Helm pour plus d'informations.

Ajouter des annotations aux espaces de noms pour les expériences de chaos

Lorsque FilterNamespace est activé, Chaos Mesh n'injecte des fautes que dans les espaces de noms contenant l'annotation chaos-mesh.org/inject=enabled. Par conséquent, avant de démarrer les expériences de chaos, vous devez ajouter cette annotation à l'espace de noms cible, tandis que les autres espaces de noms sont protégés.

Vous pouvez ajouter l'annotation à un namespace avec la commande kubectl suivante :

kubectl annotate ns $NAMESPACE chaos-mesh.org/inject=enabled

Dans cette commande, $NAMESPACE correspond au nom de l'espace de noms, par exemple default. Si l'annotation est ajoutée avec succès, le résultat s'affiche ainsi :

namespace/$NAMESPACE annotated

Pour supprimer cette annotation, utilisez la commande suivante :

kubectl annotate ns $NAMESPACE chaos-mesh.org/inject-

Si l'annotation est supprimée avec succès, le résultat s'affiche ainsi :

namespace/$NAMESPACE annotated

Vérifier les espaces de noms affectés par les expériences de chaos

Vous pouvez lister tous les espaces de noms autorisés pour les expériences de chaos avec la commande suivante :

kubectl get ns -o jsonpath='{.items[?(@.metadata.annotations.chaos-mesh\.org/inject=="enabled")].metadata.name}'

Cette commande affiche tous les espaces de noms portant l'annotation chaos-mesh.org/inject=enabled. Par exemple :

default