2017-08-17 91 views
-2

在我们的Kubernetes中,有一个POD正在不断重新启动。无法在go客户端中检索POD日志,同时可从kubectl日志命令中获得

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

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

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

任何帮助深表谢意。

+0

请分享更多代码如何使用'GetLogs'函数以及如何处理错误。 – pltvs

+0

我们发现了一个原因。 SourceCode的一面存在一些错误。我们正在检查POD是否不运行只是返回。但在这种情况下,POD处于等待状态,因为它无法启动。 –

回答

0

我们发现了一个原因。 SourceCode的一面存在一些错误。我们正在检查POD是否不运行只是返回。但在这种情况下,POD处于等待状态,因为它无法启动。

我们必须添加这部分代码以避免来自Blocking的POD日志收集。

0

这个问题太笼统,没有太多的信息,所以我猜是这个答案。吊舱的重复重新启动是由吊舱故障引起的。 Kubernetes在它失败之前重新启动pod,直到它获得吊舱工作,但不幸的是,它并没有得到这种情况。

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