kubernetes 如何退出由于网络错误而冻结的'kubectl exec'命令?

fjaof16o  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(3)|浏览(428)

有时候,我会有一个运行kubectl exec bash的终端选项卡来检查容器或跟踪日志文件。当我关闭笔记本电脑、打开VPN或只是失去Wi-Fi一秒钟时,终端有时会冻结,让我无法在不关闭终端选项卡或手动终止进程的情况下退出它。
我知道SSH会话有一个enter-tilda-period组合键,可以让你在这种情况下退出,但是这似乎不适用于kubectl exec。在这种情况下,有没有类似的方法来完成这个任务?

ne5o7dgx

ne5o7dgx1#

不清楚导致kubectl exec命令异常挂起的问题根源是什么。
回到您的问题,您可以通过设置以下内容强制断开连接并将(Docker)终端的控制权交还给您:--request-timeout=<value>添加到kubectl命令行:
kubectl exec --request-timeout=5s bash
可以通过使用kill命令发送-9信号来强制终止kubectl exec。
kill -9 $(pidof kubectl)

ryevplcw

ryevplcw2#

我想你可以尝试如下。

kubectl --request-timeout=10s

[0][https://kubernetes.io/docs/reference/kubectl/kubectl/#选项]
或者您可能需要实现如下函数。[1]
[1]http://fibrevillage.com/sysadmin/236-how-to-timeout-a-command-in-linux-shell(http://fibrevillage.com/sysadmin/236-how-to-timeout-a-command-in-linux-shell])

gudnpqoy

gudnpqoy3#

你只需要运行这个

exit

相关问题