Ergebnisse von Chaos-Experimenten überprüfen
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Dieses Dokument beschreibt, wie Sie mit Chaos Mesh den Ausführungsstatus und die Ergebnisse von Chaos-Experimenten überprüfen können.
Einführung in die Phasen eines Chaos-Experiments
Bei Chaos Mesh wird der Lebenszyklus eines Chaos-Experiments entsprechend seines Ausführungsprozesses in vier Phasen unterteilt:
-
Injecting: Das Chaos-Experiment befindet sich im Prozess der Fehlerinjektion. Normalerweise dauert diese Phase kurz. Wenn die "Injecting"-Phase längere Zeit andauert, kann dies auf Ausnahmen im Experiment hindeuten. In diesem Fall können Sie die
Eventsüberprüfen, um die Ursache zu ermitteln. -
Running: Nachdem die Fehler erfolgreich in alle Ziel-Pods injiziert wurden, beginnt die Ausführung des Experiments.
-
Paused: Beim Auslösen des Pauseprozesses für ein laufendes Experiment stellt Chaos Mesh den ursprünglichen Zustand aller Ziel-Pods wieder her, was den Pausestatus anzeigt.
-
Finished: Wenn der
duration-Parameter konfiguriert ist und die Laufzeit abgelaufen ist, stellt Chaos Mesh den ursprünglichen Zustand aller Ziel-Pods wieder her, was den Abschluss des Experiments anzeigt.
Ergebnisse mit Chaos Dashboard überprüfen
Mit Chaos Dashboard können Sie die Ausführungsphasen von Chaos-Experimenten auf folgenden Seiten einsehen:
-
Liste der Chaos-Experimente:

Experimental Status -
Details der Chaos-Experimente:

Experimental Status
- Wenn die "Injecting"-Phase ungewöhnlich lange dauert, kann dies auf Anomalien hinweisen (z.B. wenn die konfigurierten Selektoren keine Ziel-Pods für die Fehlerinjektion finden). Überprüfen Sie in diesem Fall die
Events, um die Ursache zu ermitteln, und kontrollieren Sie die Experimentkonfiguration. - Chaos Dashboard zeigt nur die Hauptphasen eines Experiments an. Für detailliertere Statusinformationen verwenden Sie den
kubectl-Befehl.
Ergebnisse mit dem kubectl-Befehl überprüfen
Verwenden Sie den folgenden kubectl describe-Befehl, um den Status und die Events von Experiment-Objekten zu überprüfen:
kubectl describe podchaos pod-failure-tikv -n tidb-cluster
Die erwartete Ausgabe sieht folgendermaßen aus:
...
Status:
Conditions:
Reason:
Status: False
Type: Paused
Reason:
Status: True
Type: Selected
Reason:
Status: True
Type: AllInjected
Reason:
Status: False
Type: AllRecovered
Experiment:
Container Records:
Id: tidb-cluster/basic-tikv-0
Phase: Injected
Selector Key: .
Desired Phase: Run
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal FinalizerInited 39s finalizer Finalizer has been inited
Normal Paused 39s desiredphase Experiment has been paused
Normal Updated 39s finalizer Successfully update finalizer of resource
Normal Updated 39s records Successfully update records of resource
Normal Updated 39s desiredphase Successfully update desiredPhase of resource
Normal Started 17s desiredphase Experiment has started
Normal Updated 17s desiredphase Successfully update desiredPhase of resource
Normal Applied 17s records Successfully apply chaos for tidb-cluster/basic-tikv-0
Normal Updated 17s records Successfully update records of resource
Die Ausgabe umfasst zwei Hauptteile:
-
StatusBasierend auf dem Ausführungsprozess des Experiments liefert der
Statusvier Arten von Statusrecords:Paused: Zeigt an, dass sich das Experiment in der "Paused"-Phase befindet.Selected: Bestätigt, dass die Ziel-Pods für die Fehlerinjektion korrekt ausgewählt wurden.AllInjected: Bestätigt, dass Fehler erfolgreich in alle Ziel-Pods injiziert wurden.AllRecoverd: Bestätigt, dass die injizierten Fehler erfolgreich aus allen Ziel-Pods entfernt wurden.
Der aktuelle Experimentstatus lässt sich aus der Kombination dieser Statusrecords ableiten. Beispiele:
- Wenn
Paused,SelectedundAllRecoverdaufTruestehen undAllInjectedaufFalse, ist das Experiment pausiert. - Wenn
PausedaufTruesteht, ist das Experiment pausiert. Steht gleichzeitigSelectedaufFalse, können keine Ziel-Pods ausgewählt werden.
HinweisDie Kombination der Statusrecords liefert kontextuelle Informationen: Steht
PausedaufTrue, ist das Experiment pausiert, aber wenn gleichzeitigSelectedaufFalsesteht, können keine Ziel-Pods identifiziert werden. -
EventsEnthält Protokolle aller Aktionen während des gesamten Experimentlebenszyklus, die zur Statusüberwachung und Fehlerbehebung dienen.