有时候,我会有一个运行kubectl exec bash
的终端选项卡来检查容器或跟踪日志文件。当我关闭笔记本电脑、打开VPN或只是失去Wi-Fi一秒钟时,终端有时会冻结,让我无法在不关闭终端选项卡或手动终止进程的情况下退出它。
我知道SSH会话有一个enter-tilda-period组合键,可以让你在这种情况下退出,但是这似乎不适用于kubectl exec
。在这种情况下,有没有类似的方法来完成这个任务?
有时候,我会有一个运行kubectl exec bash
的终端选项卡来检查容器或跟踪日志文件。当我关闭笔记本电脑、打开VPN或只是失去Wi-Fi一秒钟时,终端有时会冻结,让我无法在不关闭终端选项卡或手动终止进程的情况下退出它。
我知道SSH会话有一个enter-tilda-period组合键,可以让你在这种情况下退出,但是这似乎不适用于kubectl exec
。在这种情况下,有没有类似的方法来完成这个任务?
3条答案
按热度按时间ne5o7dgx1#
不清楚导致kubectl exec命令异常挂起的问题根源是什么。
回到您的问题,您可以通过设置以下内容强制断开连接并将(Docker)终端的控制权交还给您:
--request-timeout=<value>
添加到kubectl命令行:kubectl exec --request-timeout=5s bash
个可以通过使用kill命令发送-9信号来强制终止kubectl exec。
kill -9 $(pidof kubectl)
ryevplcw2#
我想你可以尝试如下。
[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])
gudnpqoy3#
你只需要运行这个