Namespace für Chaos-Experimente konfigurieren
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:
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