Logging 限制kubernetes中的日志

Logging 限制kubernetes中的日志,logging,kubernetes,limit,kubernetes-pod,Logging,Kubernetes,Limit,Kubernetes Pod,我遇到了问题,因为我的容器产生了太多的日志输出。这显然会导致保留空间耗尽,并通过消息退出POD。节点资源不足:临时存储。容器XYZ正在使用1412Ki,这超出了其0的请求。 有没有办法告诉库伯内特斯忘掉旧的日志?我完全可以说“每个吊舱10MB的日志就足够了”,但我找不到任何地方来具体说明这一点 这是一个时间限制还是大小限制对我来说并不重要,只要我能让我的豆荚保持活力。这是针对开发环境的,因此日志保留根本不重要。我假设容器引擎是docker,在这种情况下,您可以配置docker以限制pod容器写入

我遇到了问题,因为我的容器产生了太多的日志输出。这显然会导致保留空间耗尽,并通过消息
退出POD。节点资源不足:临时存储。容器XYZ正在使用1412Ki,这超出了其0的请求。

有没有办法告诉库伯内特斯忘掉旧的日志?我完全可以说“每个吊舱10MB的日志就足够了”,但我找不到任何地方来具体说明这一点


这是一个时间限制还是大小限制对我来说并不重要,只要我能让我的豆荚保持活力。这是针对开发环境的,因此日志保留根本不重要。

我假设容器引擎是docker,在这种情况下,您可以配置docker以限制pod容器写入的日志

< p>这是一个社区wiki的答案,所以可以自由地编辑它,并添加任何你认为重要的附加细节。

正如我已经回答了这个问题一样,我只想添加一些细节,使之更加完整

请看库伯内特斯官方文件。正如您所读到的“Kubernetes目前不负责循环日志,而是部署工具应该设置一个解决方案来解决这个问题。”

如果您的容器运行时恰好是docker,则可以通过编辑/创建以下内容来设置日志轮换策略:

/etc/docker/daemon.json
(在Linux主机上)

或:

(在Windows主机上)

如下所示:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3",
    "labels": "production_status",
    "env": "os,customer"
  }
}

您是否将日志写入容器中的文件?也许一个解决方案是禁用此输出。所有常见的日志聚合系统都使用stdout/stderr输出,该输出也会由容器运行时写入磁盘并从磁盘中刮取。@alexzimmer96我不会将日志写入文件。所有的东西都去了stdout/stderr。我只使用
kubectl日志
跟踪日志。我确实使用了docker,所以这看起来很有希望。谢谢分享。我将配置并希望我永远不会看到那些豆荚被驱逐。。。
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3",
    "labels": "production_status",
    "env": "os,customer"
  }
}