Simuler des scénarios de stress
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 à StressChaos
Chaos Mesh propose des expériences StressChaos pour simuler des scénarios de stress à l'intérieur des conteneurs. Ce document explique comment créer des expériences StressChaos et préparer le fichier de configuration correspondant.
Vous pouvez créer des expériences via Chaos Dashboard ou en utilisant des fichiers 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 section Choisir une cible, sélectionnez TEST DE STRESS et renseignez les informations de l'expérience. Pour les champs spécifiques, référez-vous à la [Description de configuration](#fields description).

StressChaos Experiment -
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 YAML. L'exemple suivant utilise
memory-stress.yaml:apiVersion: chaos-mesh.org/v1alpha1
kind: StressChaos
metadata:
name: memory-stress-example
namespace: chaos-mesh
spec:
mode: one
selector:
labelSelectors:
'app': 'app1'
stressors:
memory:
workers: 4
size: '256MB'Cette configuration créera un processus dans le conteneur ciblé qui allouera et manipulera continuellement de la mémoire, occupant jusqu'à 256 Mo.
-
Après avoir préparé le fichier de configuration, utilisez
kubectlpour créer l'expérience :kubectl apply -f memory-stress.yaml
Description des champs
Les champs du fichier de configuration YAML sont décrits dans le tableau suivant :
| Parameter | Type | Description | Default value | Required | Example |
|---|---|---|---|---|---|
| duration | string | Specifies the duration of the experiment. | None | Yes | 30s |
| stressors | Stressors | Specifies the stress of CPU or memory | None | No | |
| stressngStressors | string | Specifies the stres-ng parameter to reach richer stress injection | None | No | --clone 2 |
| 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 a parameter 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 Scope of Chaos Experiments. | None | Yes |
Stressors
| Parameter | Type | Description | Default value | Required | Example |
|---|---|---|---|---|---|
| memory | MemoryStressor | Specifies the memory stress | None | No | |
| cpu | CPUStressor | Specifies the CPU stress | None | No |
MemoryStressor
| Parameter | Type | Description | Default value | Required | Example |
|---|---|---|---|---|---|
| workers | int | Specifies the number of threads that apply memory stress | No | 1 | |
| size | string | Specifies the memory size to be occupied or a percentage of the total memory size. The final sum of the occupied memory size is size. | No | 256MB / 25% | |
| time | string | Specifies the time to reach the memory size. The growth model is a linear model. | No | 10min | |
| oomScoreAdj | int | Specifies the oom_score_adj of the stress process. | No | -1000 |
Pour éviter la charge CPU élevée induite par les opérations de lecture/écriture de stress-ng, Chaos Mesh utilise memStress pour simuler le stress mémoire. MemStress consomme effectivement la mémoire au lieu d'appliquer une pression de lecture/écriture.
CPUStressor
| Parameter | Type | Description | Default value | Required | Example |
|---|---|---|---|---|---|
| workers | int | Specifies the number of threads that apply CPU stress | Yes | 1 | |
| load | int | Specifies the percentage of CPU occupied. 0 means that no additional CPU is added, and 100 refers to full load. The final sum of CPU load is workers * load. | No | 50 |