我正在使用Kubernetes来运行python脚本作为cron作业。问题是,在作业完成之前,我没有看到脚本的输出(可能需要一段时间才能运行)。我怀疑这是由于日志记录级别(--v选项),但我不能在我的生活中查找它的文档(默认为--v = 0)。如果我想增加输出的详细程度,是否有人知道' INFO'或者' TRACE' (或者它们定义的值是什么)?提前感谢您的帮助。
编辑:有人在pod运行时成功获取了一个python文件来登录Kubernetes pod吗?如果是这样,你使用print()或不同的日志框架?
答案 0 :(得分:2)
根据Kubernetes docs,
If you don't see much useful in the logs, you could try turning on
verbose logging on the Kubernetes component you suspect has a problem
using --v or --vmodule, to at least level 4. See
https://github.com/golang/glog for more details.
答案 1 :(得分:1)
找到根本原因。具体来说,发现在Python app does not print anything when running detached in docker。解决方案是设置以下环境变量:PYTHONUNBUFFERED = 0。这不是print语句没有显示,而是print语句被缓冲了。执行上述操作将解决问题。谢谢@ thisguy17和@fylie的协助。