Skip to content

Commit 647bf63

Browse files
committed
fix: posix compliance
1 parent 40c4a59 commit 647bf63

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

kubectl-node_shell

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,48 @@
11
#!/bin/sh
22

3-
POSITIONAL=()
43
CONTEXT=""
5-
KUBECOFIG=""
6-
while [[ $# -gt 0 ]]
7-
do
8-
key="$1"
4+
KUBECONFIG=""
5+
NODE=""
6+
NAMESPACE=""
7+
while [ $# -gt 0 ]; do
8+
key="$1"
99

10-
case $key in
11-
--context)
10+
case $key in
11+
--context)
1212
CONTEXT="--context $2"
1313
shift
1414
shift
1515
;;
16-
--kubeconfig)
16+
--kubeconfig)
1717
KUBECONFIG="--kubconfig $2"
1818
shift
1919
shift
2020
;;
21-
*)
22-
POSITIONAL+=("$1") # save it in an array for later
23-
shift # past argument
21+
-n | --namespace)
22+
NAMESPACE="--namespace $2"
23+
shift
24+
shift
25+
;;
26+
*)
27+
NODE="$1"
28+
shift
2429
;;
25-
esac
30+
esac
2631
done
27-
set -- "${POSITIONAL[@]}" # restore positional parameters
2832

29-
if [ -z "$1" ]; then
33+
if [ -z "$NODE" ]; then
3034
echo "Please specify node name"
3135
exit 1
3236
fi
3337

34-
NODE="$1"
3538
IMAGE="alpine"
36-
POD="nsenter-$(env LC_ALL=C tr -dc a-z0-9 < /dev/urandom | head -c 6)"
37-
NAMESPACE=""
39+
POD="nsenter-$(env LC_ALL=C tr -dc a-z0-9 </dev/urandom | head -c 6)"
3840

3941
# Check the node
40-
kubectl get node "$NODE" >/dev/null || exit 1
42+
kubectl get node "$NODE" $CONTEXT $KUBECONFIG >/dev/null || exit 1
4143

42-
OVERRIDES="$(cat <<EOT
44+
OVERRIDES="$(
45+
cat <<EOT
4346
{
4447
"spec": {
4548
"nodeName": "$NODE",
@@ -63,4 +66,4 @@ EOT
6366
)"
6467

6568
echo "spawning \"$POD\" on \"$NODE\""
66-
kubectl run --namespace "$NAMESPACE" --rm --image alpine --overrides="$OVERRIDES" --generator=run-pod/v1 -ti "$POD" $CONTEXT $KUBECONFIG
69+
kubectl run --rm --image alpine --overrides="$OVERRIDES" --generator=run-pod/v1 -ti "$POD" $CONTEXT $KUBECONFIG $NAMESPACE

0 commit comments

Comments
 (0)