今日 GKE EOL,kubelet 自动升级至1.28后,Java程序在启动后无法识别资源清单中的限制,被大量OOMKill
Deployment清单中已经配置了资源限制,例如下面的参数
yaml
|
|
JAVA_OPS参数配置是使用百分比
bash
|
|
但是启动后无法识别参数,使用 gcloud 登录到主机内查看 jvm 运行状态(因为容器使用 distroless)
bash
|
|
异常的主机
bash
|
|
查询到 jdk 版本不同,搜索 jdk 版本,发现 jdk 低版本对 cgroup2 无法识别出内存限制, 8u381 后版本才修复,而使用的是 8u351
Detected container memory limit may exceed physical machine memory