Zum Hauptinhalt springen
Version: 2.6.7

Namespace für Chaos-Experimente konfigurieren

Inoffizielle Beta-Übersetzung

Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →

Dieses Kapitel erklärt, wie Sie Chaos-Experimente so konfigurieren, dass sie nur im angegebenen Namespace wirksam werden und andere nicht spezifizierte Namespaces vor Fehlerinjektion geschützt sind.

Wirkungsbereich von Chaos-Experimenten steuern

Chaos Mesh bietet zwei Möglichkeiten, um den Wirkungsbereich von Chaos-Experimenten zu kontrollieren:

  • Um Chaos-Experimente auf bestimmte Namespaces zu beschränken, müssen Sie die FilterNamespace-Funktion aktivieren (standardmäßig deaktiviert). Diese global wirkende Funktion ermöglicht es, Annotationen für Namespaces hinzuzufügen, in denen Chaos-Experimente durchgeführt werden dürfen. Namespaces ohne Annotationen sind vor Fehlerinjektion geschützt.

  • Um den Wirkungsbereich für einzelne Chaos-Experimente festzulegen, lesen Sie Wirkungsbereich eines Chaos-Experiments definieren.

FilterNamespace aktivieren

Falls Sie Chaos Mesh noch nicht installiert haben, aktivieren Sie die Funktion während der Installation durch Hinzufügen von --set controllerManager.enableFilterNamespace=true zum Helm-Installationsbefehl. Beispielbefehl im Docker-Container:

Hinweis

Bei Helm-Installationen variieren Befehle und Parameter je nach Containerumgebung. Weitere Informationen finden Sie unter Chaos Mesh mit Helm installieren.

Bei bestehender Helm-Installation aktivieren Sie die Funktion durch Konfigurationsupgrade mit helm upgrade. Beispiel:

Bei helm upgrade können Sie mehrere Parameter mit --set definieren. Spätere Einstellungen überschreiben frühere: Bei --set controllerManager.enableFilterNamespace=false -set controllerManager.enableFilterNamespace=true wird die Funktion beispielsweise trotzdem aktiviert.

Alternativ können Sie Konfigurationen via -f Parameter in einer YAML-Datei definieren. Details unter Helm upgrade.

Namespaces für Chaos-Experimente annotieren

Bei aktiviertem FilterNamespace injiziert Chaos Mesh nur Fehler in Namespaces mit der Annotation chaos-mesh.org/inject=enabled. Fügen Sie daher diese Annotation vor Experimentstart den gewünschten Namespaces hinzu – andere Namespaces bleiben geschützt.

Fügen Sie die Annotation für einen namespace mit diesem kubectl-Befehl hinzu:

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

Hier steht $NAMESPACE für den Namespace-Namen (z.B. default). Bei erfolgreicher Annotation erscheint:

namespace/$NAMESPACE annotated

Löschen Sie die Annotation mit diesem Befehl:

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

Bei erfolgreicher Löschung erscheint:

namespace/$NAMESPACE annotated

Aktive Chaos-Namespaces prüfen

Liste aller für Chaos-Experimente freigegebenen Namespaces:

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

Dieser Befehl listet alle Namespaces mit chaos-mesh.org/inject=enabled-Annotation. Beispielausgabe:

default