我无法在kubernetes pod上看到sysout日志

问题描述 投票:0回答:1

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

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

kubectl exec -it pod-name bash

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

kubectl logs -f pod-name

另外,在功能上一起使用logback和sysout时,无法使用logback找到任何日志。

你知道怎么解决吗?

kubernetes
1个回答
1
投票

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

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

正确的方法是让您的应用程序登录到stdout,然后使用外部工具捕获该文件并写入文件。 Fluentd经常用于此目的,使用聚合即ElasticSearch。

我建议你看看K8s logging architectureElasticsearch

© www.soinside.com 2019 - 2024. All rights reserved.