Log in as root to the node. (#3094)
This executes simple container in host IPC, network and PID space. Then is uses nsenter to switch other namespaces and execute BASH.mine
parent
6894cb3d84
commit
33d592deb4
|
|
@ -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
|
||||
Loading…
Reference in New Issue