无法从kubectl logs命令中检索到客户端中的POD日志

时间:2017-08-17 09:02:07

标签: go deployment kubernetes kubernetes-go-client

在我们的Kubernetes中,有一个POD正在不断重启。

如果我使用kubectl logs -p POD_NAME -n NAMESPACE命令,我会得到详细的日志。但是,当我们使用go客户端kubernetes并尝试检索日志时,我们什么也得不到。

我们正在使用PodExpansion接口的GetLogs(名称字符串,opts * v1.PodLogOptions)方法。

我也试过在PodLogOptions中使用各种选项,例如。 sinceSeconds=BeginningOfTheYear但没有运气。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

我们找到了一个理由。我们这边的SourceCode有一些错误。我们正在检查POD是否没有运行只是返回。但在这种情况下,POD处于等待状态,因为它无法启动。

我们必须添加这部分代码以避免POD中的日志从阻塞中收集。

答案 1 :(得分:0)

问题太笼统而没有太多信息,所以我猜这是答案。重复重启pod是由于pod故障造成的。 Kubernetes重新启动pod,因为它失败直到它让pod工作,不幸的是,在这种情况下它并没有。

这可能由于各种原因而发生。有些可能是由于资源问题,环境变量松散连接等。我总是将鼠标悬停在日志上以解决此类问题,并且还检查kubectl describe pods <pod_name>命令,并查看最后几行。它们显示了当前正在发生的行为以及失败的原因。这可能有所帮助。