我正在尝试创建一个临时调试容器使用kubectl debug
如下:
kubectl debug $POD_NAME -it --share-processes --container=myapp-web --copy-to=$USER-debug -- /bin/bash
我的应用程序是一个 Django 应用程序——目标是能够进入 shell 并运行manage.py
命令,而不必担心 pod 关闭。
当我运行此kubectl debug
命令时,它会工作大约 30 秒,然后会话结束。我认为这是因为调试 pod 具有与生产 pod 相同的活动性和就绪性探测,但由于我的应用程序未运行,因此这些探测失败。在 k8s 事件中,我可以看到这些探测对于调试 pod 失败了。
在我的 shell 中,大约 30 秒后我看到以下内容:
bash-5.1$ Session ended, resume using 'kubectl attach tao-debug -c myapp-web -i -t' command when the pod is running
会话是否因为存活探测失败而被终止?如果是这样,有没有办法复制一个 pod kubectl debug
,但忽略存活探测?