Kubernetes pod 日志保留

Kubernetes pod logs retention

我加入了一个在 Azure 云上部署应用程序的项目。这些应用程序位于 docker 个由 kubernetes 编排的容器中。

我们使用此命令(下面的 YAML 代码)从 POD 日志文件获取数据

kubectl 日志 --namespace=app-prod
deployment/app-fd-prod
> $(日志文件)

其中 logFile 是一个变量

现在的问题是,昨天的日志文件是 27MB。今天的日志文件是 2MB,这意味着旧数据以某种方式被删除了。

我已经阅读了有关 logRotate 的内容,但我认为我们没有实现它。

我想知道昨天的日志文件文本被删除的原因是什么?

任何线索,帮助将不胜感激。

正如@jordanm 在评论中指出的那样,pod 日志会为您轮换。您需要一个日志聚合工具,例如 ELK/EFK 堆栈(Elastic + Logstash + kibana 或 Elastic + fluentd + kibana)或 Promtail + loki + grafana。这些堆栈跟踪容器的日志,进行一些花哨的解析/操作并将其传送到 S3 等持久存储。

旁注,您可以看一下 logging operator,它使这些东西的配置更容易一些。