Skip to content

Latest commit

 

History

History
130 lines (118 loc) · 3.99 KB

File metadata and controls

130 lines (118 loc) · 3.99 KB

Pod Memory Hog Experiment

This experiment causes Memory resource consumption on specified application containers by using dd command which will used to consume memory of the application container for certain duration of time. It can test the application's resilience to potential slowness/unavailability of some replicas due to high Memory load. Check node memory hog docs for more info. To know more and get started with chaos-actions visit github-chaos-actions.

Sample workflow

A Sample workflow to run pod-memory-hog experiment:

.github/workflows/main.yml

name: CI

on:
  push:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest
    steps:
    - name: Running pod-memory-hog chaos experiment
      uses: litmuschaos/github-chaos-actions@v0.4.0
      env:
        KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
        ##If litmus is not installed
        INSTALL_LITMUS: true
        ##Give application info under chaos
        APP_NS: default
        APP_LABEL: run=nginx
        APP_KIND: deployment
        EXPERIMENT_NAME: pod-cpu-hog
        ##Custom images can also be used
        EXPERIMENT_IMAGE: litmuschaos/go-runner
        EXPERIMENT_IMAGE_TAG: latest
        IMAGE_PULL_POLICY: Always
        TARGET_CONTAINER: nginx
        TOTAL_CHAOS_DURATION: 60
        MEMORY_CONSUMPTION: 500
        ##Select true if you want to uninstall litmus after chaos
        LITMUS_CLEANUP: true

Environment Variabels

The application pod for pod-cpu-hog will be identified with the app info variables.

Supported Chaos Action Tunables

Variables Description Specify In Chaos Action Default Value
EXPERIMENT_NAME For Running pod memory hog experiment keep it pod-memory-hog Mandatory No default value
MEMORY_CONSUMPTION The amount of memory used of hogging a Kubernetes pod Optional Default value is 500M
TARGET_CONTAINER Name of the container subjected to CPU stress. Optional Default value is nginx
TOTAL_CHAOS_DURATION The time duration for chaos injection (seconds) Optional Default value is 120s
APP_NS Provide namespace of application under chaos Optional Default value is default
APP_LABEL Provide application label of application under chaos. Optional Default value is run=nginx
APP_KIND Provide the kind of application Optional Default value is deployment
INSTALL_LITMUS Keep it true to install litmus if litmus is not already installed. Optional Default value is not set to true
LITMUS_CLEANUP Keep it true to uninstall litmus after chaos Optional Default value is not set to true
EXPERIMENT_IMAGE We can provide custom image for running chaos experiment Optional Default value is litmuschaos/go-runner
EXPERIMENT_IMAGE_TAG We can set the image tag while using custom image for the chaos experiment Optional Default value is latest
IMAGE_PULL_POLICY We can set the image pull policy while using custom image for running chaos experiment Optional Default value is Always