当前位置: 首页 > 知识库问答 >
问题:

Kubernetes (迷你库贝) pod OOM 杀戮,显然节点中留下了大量内存

劳英华
2023-03-14

我正在使用迷你库贝,从

minikube start --memory 8192

对于节点的 8Gb 内存。我正在分配具有资源约束的 Pod

    resources:
      limits:
        memory: 256Mi
      requests:
        memory: 256Mi

因此,每个节点都有256Mb的RAM,这将给我,我假设,在达到8Gb内存限制之前,会有32个pod,但问题是,每当我到达要部署的第8个pod时,第9个永远不会运行,因为它不断被OOMKilled。

对于上下文,每个pod都是一个Java的应用程序,使用frolvlad/alpian-oraclejdk8: Slim Docker容器运行-Xmx512m-Xms128m(即使JVM确实使用完整的512Mb而不是256Mb,我仍然远未达到16 pod限制以达到8Gb上限)。

我在这里错过了什么?为什么 Pod 被 OOMKilled 处理,显然还剩下这么多可分配的可用内存?

先谢谢你

共有1个答案

柳项明
2023-03-14

你必须了解请求和限制的工作方式。

请求是节点上对pod进行调度所需的可分配资源量的要求。这些不会导致OOMs,它们会导致pod不被调度。

另一方面,限制是给定吊舱的硬限制。吊舱将在这个高度封顶。所以,即使你有16GB的可用内存,但有256MiB的限制,一旦你的吊舱达到这一级别,它将经历OOM杀戮。

如果需要,可以只定义请求。然后,您的存储舱将能够增长到完全节点容量,而无需封顶。

https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

 类似资料:
  • 在我的Windows 10 Surface笔记本电脑上设置Minikube,群集创建失败。执行以下步骤: 已安装所有超级 V 功能 创建 Hyper-V 外部交换机 安装迷你库贝使用 使用迷你库贝 尝试使用迷你库贝 尝试启动时,minikube抛出以下错误:

  • 我正在尝试创建minikube集群,但总是失败。 任何建议都非常欢迎: C:\WINDOWS\system32 Microsoft Windows 10 Home 10.0.19042 Build 19042上的minikube v1.16.0 根据用户配置使用vmware驱动程序 启动群集minikube中的控制平面节点minikube 正在创建vmware VM(CPU=2,内存=4000MB

  • 我对迷你库贝很陌生。 我想在本地机器上尝试迷你库贝。 我安装了乌班图服务器和泊坞窗。 我已经下载并使用此命令启动了迷你库贝: sudo minikube start--vm驱动程序=无 如果我键入此命令: sudo kubectl get services --all-namespaces 如果我输入:sudo minikube仪表板--url,我得到:http://127.0.0.1:30000

  • 我是库伯内特斯的新手。在库伯内特斯文档的帮助下,我在我的Windows机器上安装了(v0.24.1)和。虚拟盒子(版本5.1.18)也安装在我的机器上。 在启动之前,我已经执行了和

  • 我正在使用minikube安装kubernetes。这会创建一个带有Linux嵌入式版本的VM。但是我希望VM有一个ubuntu操作系统。有什么办法吗?之前我使用命令安装minikube

  • 我是库伯内特斯的新手,我正在学习。我有我的视窗8机器,我在那里安装了瓦格兰特。使用流浪者,我运行ubuntu虚拟机,在虚拟机中,我运行3个docker容器。 流浪者档案: 容器 in Ubuntu VM : 在同一个VM中,现在我安装了迷你库贝和库贝特,如此链接中所述 迷你库贝版本: kubectl版本: 迷你库贝在我的 ubuntu VM 中成功启动。我已经创建了 文件。 使用这个yml文件,我