我在kubernetes主机上看不到sysout日志

时间:2019-03-08 03:27:39

标签: kubernetes

我使用logback将日志保存到文件中。

但是,如果我登录到Pod并查看日志文件,则带有logback的日志写得很好,但是我找不到带有sysout的日志。

kubectl exec -it pod-name bash

此外,如果我检查kubernetes pod日志,则看不到logback中写的日志,但是我只能查看sysout中写的日志。

kubectl logs -f pod-name

此外,在功能上同时使用logback和sysout时,使用logback找不到任何日志。

您知道如何解决吗?

1 个答案:

答案 0 :(得分:1)

kubectl logs -f <pod_name>将仅显示影响POD的操作,而不显示容器内部实际发生的操作(任何计算,输入到文件的数据)。

没有功能很难说会发生什么,但是将日志保留在POD中并不是最好的主意。如果POD发生故障,它将崩溃或发生任何错误,Kubernetes将重新启动它,所有数据将丢失。

正确的方法是将应用程序日志记录到stdout,然后使用外部工具捕获该事件并将其写入文件。 Fluentd通常用于此目的,并且具有聚合功能,即ElasticSearch。

我建议您看看K8s logging architectureElasticsearch