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"
}
}