From d90ffb2e74b36d0c390b4b5d58e69ac3ac344864 Mon Sep 17 00:00:00 2001 From: Udit Gaurav <35391335+uditgaurav@users.noreply.github.com> Date: Sat, 16 Apr 2022 22:42:59 +0530 Subject: [PATCH] Chore(docs): Add docs for NODE_LABEL feature in pod level experiments (#3553) Signed-off-by: uditgaurav --- .../common-tunables-for-pod-experiments.md | 75 ++++++++++++++++++- .../pods/common/node-label-filter.yaml | 20 +++++ 2 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 mkdocs/docs/experiments/categories/pods/common/node-label-filter.yaml diff --git a/mkdocs/docs/experiments/categories/pods/common-tunables-for-pod-experiments.md b/mkdocs/docs/experiments/categories/pods/common-tunables-for-pod-experiments.md index fdc505a80..ca18e7873 100644 --- a/mkdocs/docs/experiments/categories/pods/common-tunables-for-pod-experiments.md +++ b/mkdocs/docs/experiments/categories/pods/common-tunables-for-pod-experiments.md @@ -129,4 +129,77 @@ spec: env: - name: DEFAULT_APP_HEALTH_CHECK value: 'false' -``` \ No newline at end of file +``` + +### Node Label Filter For Selecting The Target Pods + +It defines the target application pod selection from a specific node. It is helpful for the scenarios where you want to select the pods scheduled on specific nodes as chaos candidates considering the pod affected percentage. It can be tuned via `NODE_LABEL` ENV. + +NOTE: This feature requires having node-level permission or clusterrole service account for filtering pods on a specific node. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
APP_LABELTARGET_PODSNODE_LABELSELECTED PODS
ProvidedProvidedProvidedThe target pods that are filtered from applabel and resides on node containing the given node label and also provided in TARGET_PODS env is selected
ProvidedNot ProvidedProvidedThe pods that are filtered from applabel and resides on node containing the given node label is selected
Not ProvidedProvidedProvidedThe target pods are selected that resides on node with given node label
Not ProvidedNot ProvidedProvidedInvalid
Not ProvidedNot ProvidedNot ProvidedInvalid
+ +Use the following example to tune this: + +[embedmd]:# (https://raw.githubusercontent.com/litmuschaos/litmus/master/mkdocs/docs/experiments/categories/pods/common/default-app-health-check.yaml yaml) +```yaml +## node label to filter target pods +apiVersion: litmuschaos.io/v1alpha1 +kind: ChaosEngine +metadata: + name: engine-nginx +spec: + engineState: "active" + annotationCheck: "false" + appinfo: + appns: "default" + applabel: "app=nginx" + appkind: "deployment" + chaosServiceAccount: pod-delete-sa + experiments: + - name: pod-delete + spec: + components: + env: + - name: NODE_LABEL + value: 'kubernetes.io/hostname=worker-01' +``` diff --git a/mkdocs/docs/experiments/categories/pods/common/node-label-filter.yaml b/mkdocs/docs/experiments/categories/pods/common/node-label-filter.yaml new file mode 100644 index 000000000..52ef5d589 --- /dev/null +++ b/mkdocs/docs/experiments/categories/pods/common/node-label-filter.yaml @@ -0,0 +1,20 @@ +## node label to filter target pods +apiVersion: litmuschaos.io/v1alpha1 +kind: ChaosEngine +metadata: + name: engine-nginx +spec: + engineState: "active" + annotationCheck: "false" + appinfo: + appns: "default" + applabel: "app=nginx" + appkind: "deployment" + chaosServiceAccount: pod-delete-sa + experiments: + - name: pod-delete + spec: + components: + env: + - name: NODE_LABEL + value: 'kubernetes.io/hostname=worker-01' \ No newline at end of file