diff --git a/plugins/node-root-shell.yaml b/plugins/node-root-shell.yaml new file mode 100644 index 00000000..0342f79b --- /dev/null +++ b/plugins/node-root-shell.yaml @@ -0,0 +1,34 @@ +plugins: + node-root-shell: + shortCut: a + description: Run root shell on node + dangerous: true + scopes: + - nodes + command: bash + background: false + confirm: true + args: + - -c + - | + host="$1" + json=' + { + "apiVersion": "v1", + "spec": { + "hostIPC": true, + "hostNetwork": true, + "hostPID": true + ' + if ! [[ -z "$host" ]]; then + json+=", + \"nodeSelector\" : { + \"kubernetes.io/hostname\" : \"$host\" + } + "; + fi + json+=' + } + } + ' + kubectl run -ti --image alpine:3.8 --rm --privileged --restart=Never --overrides="$json" root --command -- nsenter -t 1 -m -u -n -i -- bash -l