Skip to content

Latest commit

 

History

History
123 lines (111 loc) · 3.68 KB

File metadata and controls

123 lines (111 loc) · 3.68 KB

Node CPU Hog Experiment

This experiment causes CPU resource exhaustion on the Kubernetes node. The experiment aims to verify the resiliency of applications whose replicas may be evicted on account on nodes turning unschedulable (Not Ready) due to lack of CPU resources. Check node cpu 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 node-cpu-hog experiment:

.github/workflows/main.yml

name: CI

on:
  push:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest
    steps:
    - name: Running node-cpu-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: node-cpu-hog
        ##Custom images can also be used
        EXPERIMENT_IMAGE: litmuschaos/go-runner
        EXPERIMENT_IMAGE_TAG: latest
        IMAGE_PULL_POLICY: Always
        TOTAL_CHAOS_DURATION: 60
        NODE_CPU_CORE: 2
        ##Select true if you want to uninstall litmus after chaos
        LITMUS_CLEANUP: true

Environment Variabels

The application pod for node-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 node cpu hog experiment keep it node-cpu-hog Mandatory No default value
NODE_CPU_CORE Number of cores of node CPU to be consumed Optional Default value is 2
TOTAL_CHAOS_DURATION The time duration for chaos injection (seconds) Optional Default value is 60s
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