如何使用重启 pod 查看 kubernetes 容器服务日志

时间:2021-06-01 05:32:40

标签: kubernetes

现在我的 kubernetes (v1.15.x) 部署一直在重启。从带有 kubernetes 仪表板的日志输出中,我看不到任何有用的东西。现在我想登录到 pod 并从我的服务的日志目录中检查日志。但是 pod 一直在重启,我没有机会登录到 pod。

有什么办法可以登录restart pod或者dump一些文件或者查看pod中的文件吗?我想找出为什么 pod 总是重启。

enter image description here

2 个答案:

答案 0 :(得分:3)

如果您正在运行 GKE 并且启用了日志记录,您可以在默认情况下将所有容器日志放入堆栈驱动程序日志记录仪表板。

到目前为止,您可以运行 kubectl describe pod <pod name> 来检查退出的容器的状态代码。状态代码可能有助于了解重新启动的原因,是由于 Error 还是 OOM 被杀死

您还可以使用标志 --previous 并获取重新启动的 POD 的日志

示例:

kubectl logs <POD name> --previous

在上述 --previous 的情况下,您的 pod 需要但仍存在于集群中。

答案 1 :(得分:2)

@HarshManvar 是对的,但我想为您提供更多选择:

  • Debugging with an ephemeral debug container:当 kubectl exec 因容器崩溃或容器映像不包含调试实用程序而不足时,临时容器可用于交互式故障排除,例如 {{3} }.

  • distroless images:如果这些方法都不起作用,您可以找到运行 Pod 的主机并通过 SSH 连接到该主机。

Debugging via a shell on the nodechecking logs 效率不高时,可以发现上述两种方法很有用。

相关问题