首页 > 解决方案 > 几次 (3-4) 次运行后 Kubernetes Pod CPU 节流

问题描述

我正在使用 spring-kafka 2.5 版的 Spring Boot 应用程序。我们的应用程序在 Docker 中容器化并部署在 Kubernetes 集群中。在我使用 EclipseLink 作为持久性服务和 Oracle 数据库的情况下,该消费者获取记录并执行数据库聚合。我正在向这个消费者主题发布批量 100k 消息。我们观察到的是最初几批应用程序的 CPU 使用率低于 500 毫秒内核。但经过几次运行后,CPU 会飙升至其极限 2000milli 核心,甚至会限制更多 2000milli 核心。运行之间没有进行任何更改,这将增加 CPU 使用率。我们想出的唯一解决方案是重新部署我们的应用程序以减少 CPU 使用率,然后它再次以相同的方式运行。

我们执行了 JVM 分析,在内存或垃圾收集中找不到任何问题。我的 CPU 请求是 1000milli 核心,CPU 限制设置为 2000milli 核心。

请帮助我在几次运行后找出这个奇怪的 CPU 限制问题的根本原因。

珍惜你的时间。请找到随附的 CPU 使用率仪表板屏幕截图,该屏幕截图显示一段时间后 CPU 使用率突然飙升。

我的怀疑是 Kubernetes 级别需要一些配置来解决这个问题。在此处输入图像描述

在此处输入图像描述

标签: spring-bootdockerkuberneteseclipselinkcpu-usage

解决方案


推荐阅读