logging - kube-scheduler 产生巨大的日志文件
问题描述
我们在 kube v1.13.10 上。我们在集群中有大约 500 个节点。最近,我开始从大师那里收到有关 DiskPressure 的警报。经过一番检查,我们发现原因是 kube-scheduler 日志。它们的大小增加到每个约 20GB,并且可以有 5 个。而主实例只有 80GB 的磁盘空间。
Logrotate 配置为每小时运行一次,延迟压缩(默认 kops 设置)。日志大多充满了这样的消息
E0929 00:34:27.778731 1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.778734 1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.778738 1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.778742 1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782052 1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782068 1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782073 1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782079 1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
E0929 00:34:27.782083 1 predicates.go:1277] Node not found, ip-10-0-0-1.ec2.internal
我增加了 master 的磁盘大小。但是为什么会有这么多错误信息?它在 1 小时内生成了 20GB 的日志,我认为这有点极端。我怎样才能避免它?
解决方案
您收到的消息最近被开发人员从:更改为"Node not found, %v"
新消息"Pod %s has NodeName %q but node is not found"
指出有一个 Pod 调度到一个不存在的节点。
解决此问题的最佳方法是使用删除节点kubectl delete node <node_name>
,如果这不起作用,则尝试使用 etcdctl 从 etcd 中删除它。这样,它将帮助调度程序将 pod 移动到另一个节点,从而减少错误日志及其大小。
请让我知道这是否有帮助。
推荐阅读
- r - 将自己的域重定向到 shinyapps.io
- ruby-on-rails - Rails Searchkick Elasticsearch 匹配多词搜索
- php - 字符串类型的 XML 变量问题 PHP
- php - phpseclib 写入空文件
- javascript - 将区域渐变添加到线高图
- javascript - 来自共享消息服务的触发事件以更改组件的内容
- hybris - 从 Java 调用 hybris 中的初始化
- php - 为什么有些二进制文件不能与 shell_exec 一起使用?
- javascript - 在 WebStorm 中,我可以在 JSX 中禁用 HTML 中 JavaScript 关键字的补全吗?
- sql - DB2 - 如何一个接一个地运行多个匿名 SQL 块?