Zeitfehler simulieren
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
TimeChaos-Einführung
Chaos Mesh bietet den Experimenttyp TimeChaos. Mit diesem Experimenttyp können Sie Szenarien mit Zeitversatz simulieren. Dieses Dokument beschreibt, wie Sie ein TimeChaos-Experiment erstellen und die zugehörige Konfigurationsdatei einrichten.
TimeChaos wirkt sich nur auf den Prozess mit PID 1 im PID-Namensraum des Containers und auf Kindprozesse des Prozesses mit PID 1 aus. Beispielsweise wird ein Prozess, der mit kubectl exec gestartet wurde, nicht beeinflusst.
Sie können Experimente entweder über das Chaos Dashboard oder mithilfe der YAML-Konfigurationsdatei erstellen.
Experimente mit Chaos Dashboard erstellen
-
Öffnen Sie Chaos Dashboard und klicken Sie auf NEW EXPERIMENT, um ein neues Experiment zu erstellen:

Create Experiment -
Wählen Sie im Bereich Choose a Target die Option CLOCK SCREW und tragen Sie Clock ID sowie Zeitversatz ein:

TimeChaos-Experimente -
Geben Sie die Versuchsinformationen ein, legen Sie den Anwendungsbereich fest und definieren Sie die geplante Laufzeit:

Versuchsinformationen -
Übermitteln Sie die Experimentinformationen.
Experimente mit YAML-Dateien erstellen
-
Schreiben Sie die Experimentkonfiguration in eine YAML-Datei. Im folgenden Beispiel wird die Datei
time-shift.yamlverwendet:apiVersion: chaos-mesh.org/v1alpha1
kind: TimeChaos
metadata:
name: time-shift-example
namespace: chaos-mesh
spec:
mode: one
selector:
labelSelectors:
'app': 'app1'
timeOffset: '-10m100ns'Diese Konfiguration verschiebt die Zeit der Prozesse im angegebenen Pod um 10 Minuten und 100 Nanosekunden nach vorne.
-
Nach Vorbereitung der Konfigurationsdatei erstellen Sie das Experiment mit
kubectl:kubectl apply -f time-shift.yaml
Die Felder der YAML-Konfigurationsdatei werden in folgender Tabelle erläutert:
| Parameter | Type | Note | Default value | Required | Example |
|---|---|---|---|---|---|
| timeOffset | string | Specifies the length of time offset. | None | Yes | -5m |
| clockIds | []string | Specifies the ID of clock that will be offset. See the | ["CLOCK_REALTIME"] | No | ["CLOCK_REALTIME", "CLOCK_MONOTONIC"] |
| mode | string | Specifies the mode of the experiment. The mode options include one (selecting a random Pod), all (selecting all eligible Pods), fixed (selecting a specified number of eligible Pods), fixed-percent (selecting a specified percentage of Pods from the eligible Pods), and random-max-percent (selecting the maximum percentage of Pods from the eligible Pods). | None | Yes | one |
| value | string | Provides parameters for the mode configuration, depending on mode.For example, when mode is set to fixed-percent, value specifies the percentage of Pods. | None | No | 1 |
| containerNames | []string | Specifies the name of the container into which the fault is injected. | None | No | ["nginx"] |
| selector | struct | Specifies the target Pod. For details, refer to Define the experiment scope. | None | Yes |