Skip to content

Commit 533a2c0

Browse files
committed
support custom commands and exit code
1 parent d9edd22 commit 533a2c0

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

kubectl-node_shell

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ kubeconfig=""
55
generator=""
66
node=""
77
namespace=""
8+
cmd='[ "nsenter", "--target", "1", "--mount", "--uts", "--ipc", "--net", "--pid", "--", '
9+
custom=""
810
while [ $# -gt 0 ]; do
911
key="$1"
1012

@@ -33,12 +35,23 @@ while [ $# -gt 0 ]; do
3335
shift
3436
;;
3537
*)
36-
node="$1"
38+
if [ -z "$node" ]; then
39+
node="$1"
40+
else
41+
cmd+="\"$1\", "
42+
custom=1
43+
fi
3744
shift
3845
;;
3946
esac
4047
done
4148

49+
if [ "$custom" = 1 ]; then
50+
cmd="$(echo "$cmd" | awk '1' RS=', \n') ]"
51+
else
52+
cmd+='"bash", "-l" ]'
53+
fi
54+
4255
if [ -z "$node" ]; then
4356
echo "Please specify node name"
4457
exit 1
@@ -67,7 +80,7 @@ overrides="$(
6780
"stdin": true,
6881
"stdinOnce": true,
6982
"tty": true,
70-
"command": [ "nsenter", "--target", "1", "--mount", "--uts", "--ipc", "--net", "--pid", "--", "bash", "-l" ]
83+
"command": $cmd
7184
}
7285
],
7386
"tolerations": [
@@ -91,6 +104,7 @@ if [ "$m" -lt 18 ]; then
91104
generator="--generator=run-pod/v1"
92105
fi
93106

107+
trap "EC=\$?; kubectl delete pod --wait=false $pod $context $kubeconfig $namespace 2>/dev/null; exit \$EC" EXIT INT TERM
108+
94109
echo "spawning \"$pod\" on \"$node\""
95-
trap "kubectl delete pod --wait=false $pod $context $kubeconfig $namespace 2>/dev/null" EXIT INT TERM
96110
kubectl run --image "$image" --restart=Never --overrides="$overrides" -ti "$pod" $generator $context $kubeconfig $namespace

0 commit comments

Comments
 (0)