diff options
author | Christian Segundo | 2023-10-07 06:53:00 +0200 |
---|---|---|
committer | Christian Segundo | 2023-10-07 06:53:00 +0200 |
commit | 4397d810dd5d1d0f8453d6914e4b8c04e448b4ca (patch) | |
tree | a422ea646ea7c78d354c40c2f2b5ea869ead858b /krash.in | |
parent | dc45fc9d0c3ebed0c1340082b1d194fea66cd1ad (diff) | |
download | krash-4397d810dd5d1d0f8453d6914e4b8c04e448b4ca.tar.gz |
add le files
Diffstat (limited to 'krash.in')
-rw-r--r-- | krash.in | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/krash.in b/krash.in new file mode 100644 index 0000000..aff12ec --- /dev/null +++ b/krash.in @@ -0,0 +1,39 @@ +#!@ENV_ABSOLUTE_PATH@ bash +set -eufo pipefail + +command -v kubectl >/dev/null 2>&1 || { echo 'Please install kubectl'; exit 1; } + +USAGE="Usage: $(basename "$0") <node-name> [-r|--reboot]" +[ $# -eq 0 ] && { echo "$USAGE"; exit 1; } +NODE_REBOOT=0 +NODE_NAME=${1:-}; shift + +if [[ $# -gt 0 ]]; then + if [[ "$1" =~ ^-r|--reboot$ ]]; then + NODE_REBOOT=1; shift + else + echo "$USAGE"; exit 1 + fi +fi + +kubectl apply -f - <<-EOF > /dev/null +--- +apiVersion: v1 +kind: Pod +metadata: + name: krash-${RANDOM} +spec: + containers: + - name: krash + image: alpine:latest + securityContext: + privileged: true + command: + - /bin/sh + - -c + - | + sysctl -w kernel.panic=${NODE_REBOOT} + echo 'c' > /proc/sysrq-trigger + priorityClassName: system-node-critical + nodeName: ${NODE_NAME} +EOF |