Aller au contenu principal
Version : Suivant

Simuler des fautes temporelles

Traduction Bêta Non Officielle

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é.

note

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

  1. Ouvrez Chaos Dashboard, puis cliquez sur NOUVELLE EXPÉRIENCE pour créer une nouvelle expérience :

    Créer une expérience
    Créer une expérience

  2. 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
    TimeChaos Experiments

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

    Experiment Information
    Experiment Information

  4. Soumettez les informations de l'expérience.

Créer des expériences avec un fichier YAML

  1. Écrivez la configuration de l'expérience dans un fichier de configuration YAML. Dans l'exemple suivant, le fichier time-shift.yaml est 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.

  2. Une fois le fichier de configuration préparé, utilisez kubectl pour 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 :

ParameterTypeNoteDefault valueRequiredExample
timeOffsetstringSpecifies the length of time offset.NoneYes-5m
clockIds[]stringSpecifies the ID of clock that will be offset. See the clock_gettime documentation for details.["CLOCK_REALTIME"]No["CLOCK_REALTIME", "CLOCK_MONOTONIC"]
modestringSpecifies 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).NoneYesone
valuestringProvides parameters for the mode configuration, depending on mode.For example, when mode is set to fixed-percent, value specifies the percentage of Pods.NoneNo1
containerNames[]stringSpecifies the name of the container into which the fault is injected.NoneNo["nginx"]
selectorstructSpecifies the target Pod. For details, refer to Define the experiment scope.NoneYes