Bash 库伯内特斯在吊舱内的杀戮过程
我使用下面的代码随机杀死pod中的进程Bash 库伯内特斯在吊舱内的杀戮过程,bash,kubernetes,Bash,Kubernetes,我使用下面的代码随机杀死pod中的进程 : ${DELAY:=30} if [ "$#" -ne 1 ]; then echo "One argument expected specifying the time in seconds to run" else end=$((SECONDS+$1)) while [ $SECONDS -lt $end ]; do kubectl \ -o 'jsonpath={.items[*].metadata.name}' \
: ${DELAY:=30}
if [ "$#" -ne 1 ]; then
echo "One argument expected specifying the time in seconds to run"
else
end=$((SECONDS+$1))
while [ $SECONDS -lt $end ]; do
kubectl \
-o 'jsonpath={.items[*].metadata.name}' \
get pods | \
tr " " "\n" | \
shuf | \
head -n 1 |
#xargs -t --no-run-if-empty \
kubectl exec $(head -n 1) -- kill -9 9
#if [ $((SECONDS+${DELAY})) -lt $end ];then #break loop if (seconds completed + delay) is greater than time specified in argument
# sleep "${DELAY}" #sleep so that pod gets completely deleted and a terminating pod not selecte
#else
# break
#fi
done
fi
脚本运行,但没有显示输出,因为它进入了某个无限循环。有人能帮我解决问题吗?两件事:
-o'jsonpath={.items[*].metadata.name}
应在kubectl get pods
之后,否则kubectl将返回帮助消息。
另外,将-t添加到
kubectl exec
,以便查看终端中容器的输出。请详细说明如何终止kubernetes上当前正在运行的操作(进程)?我是库伯内特斯的新手,我不知道;我不理解上面的代码。另外,我正在寻找终止进程的命令。