k9s/plugins/node-root-shell.yaml

35 lines
784 B
YAML

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