logging - 如何解决Kubernetes中日志不断增加的问题?

标签 logging kubernetes disk logrotate

我正在维护一个 K8s 集群,最近由于磁盘压力,kubelet 在不同节点上多次驱逐 Pod。经过调查,我发现问题出在 /var/lib/docker/containers/.../*-json.log 处的容器日志文件,这些文件可能会增长到数百个 Gi,消耗所有磁盘。

当我使用由 Kibana、Elasticsearch 和 Fluentbit 组成的中央日志堆栈时,我什至遇到了这个问题。 flutterbit 日志约为 500 Gi,移除中央日志堆栈后,磁盘压力几乎得到解决。但现在我看到我的其他一些组件也出现了这种情况,并且其日志消耗了大约 170 Gi。

在 k8s 中管理日志文件的最佳实践和工具有哪些?

最佳答案

每个 Kubernetes 安装程序都应包含 Logrotate 来处理此问题。 https://kubernetes.io/docs/concepts/cluster-administration/logging/有一些基本信息,但这取决于您的具体配置。

编辑:正如我现在告诉自己的那样,Docker 本身也可以直接进行日志轮换,因此这也是一个选项。

关于logging - 如何解决Kubernetes中日志不断增加的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59209806/

相关文章:

c++ - 哪个小部件用于将硬盘扇区显示为十六进制?

.net - 在 .NET 和 Mono 中使用相同的 log4net 程序集

docker - 如何在 Kubernetes 中配置多个服务/容器?

spring-boot - 当 Spring Boot 应用程序使用 nginx Controller 部署到 kubernetes 集群时,JWT 身份验证不起作用

amazon-ec2 - Kubernetes - 连接跟踪不会将包破坏回原始目标 IP (DNAT)

azure - 如何根据Azure门户上的显示方式识别Azure虚拟机的驱动器?

logging - 如何让 Spring Boot 使用 log4j.xml 配置文件?

asp.net - 在 ASP.NET 应用程序上记录 Visual Basic 异常的最佳方法是什么?

python - 这是登录 Flask 的正确方式吗?

performance - 是否有关于 Azure VM 本地驱动器速度的数据?