Simuler des fautes temporelles
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 →
Introduction à TimeChaos
Chaos Mesh propose le type d'expérience TimeChaos. Vous pouvez utiliser ce type d'expérience pour simuler un scénario de décalage temporel. Ce document décrit comment créer une expérience TimeChaos et son fichier de configuration associé.
TimeChaos n'affecte que le processus PID 1 dans l'espace de noms PID du conteneur, et les processus enfants du PID 1. Par exemple, le processus lancé par kubectl exec n'est pas affecté.
Vous pouvez créer des expériences via Chaos Dashboard ou en utilisant un fichier de configuration YAML.
Créer des expériences avec Chaos Dashboard
-
Ouvrez Chaos Dashboard, puis cliquez sur NOUVELLE EXPÉRIENCE pour créer une nouvelle expérience :

Créer une expérience -
Dans la zone Choisir une cible, sélectionnez DÉCALAGE HORLOGE et renseignez l'ID de l'horloge et le décalage temporel.

TimeChaos Experiments -
Complétez les informations de l'expérience, précisez son périmètre et la durée planifiée :

Experiment Information -
Soumettez les informations de l'expérience.
Créer des expériences avec un fichier YAML
-
Écrivez la configuration de l'expérience dans un fichier de configuration YAML. Dans l'exemple suivant, le fichier
time-shift.yamlest utilisé.apiVersion: chaos-mesh.org/v1alpha1
kind: TimeChaos
metadata:
name: time-shift-example
namespace: chaos-mesh
spec:
mode: one
selector:
labelSelectors:
'app': 'app1'
timeOffset: '-10m100ns'Cette configuration d'expérience décalera l'heure des processus dans le Pod spécifié de 10 minutes et 100 nanosecondes vers l'avant.
-
Une fois le fichier de configuration préparé, utilisez
kubectlpour créer une expérience :kubectl apply -f time-shift.yaml
Les champs du fichier de configuration YAML sont décrits dans le tableau suivant :
| 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 |