1.4. pod 和容器的资源管理


指定 pod 时,您可以指定容器需要的每个资源量。要指定的最常见资源是 CPU 和内存 (RAM)。

当您为 Pod 中的容器指定资源请求时,kubernetes-scheduler 使用此信息来分配节点来放置 Pod。

当您为容器、kubelet 或节点代理指定资源限值时,会强制实施这些限制,以便允许正在运行的容器使用该资源比您设置的限制更多。kubelet 还至少保留针对该容器使用的系统资源的请求数量。

1.4.1. 请求和限值

如果运行 pod 的节点有足够的可用资源,则容器可以使用的资源超过其对该资源的请求数量。但是,容器不允许使用超过其资源的限值。

例如,如果您为容器设置了 256 MiB 的内存请求,并且该容器位于调度到具有 8GiB 内存且没有其他 pod 的节点的 pod 中,则容器可以尝试使用更多 RAM。

如果为该容器设置了 4GiB 的内存限值,kubelet 和容器运行时会强制实施限制。运行时可防止容器使用超过配置的资源限值。

如果容器中的进程尝试消耗超过允许的内存量,系统内核会终止尝试分配的进程,并显示 Out Of Memory (OOM) 错误。

您可以通过两种方式实施限制:

  • 通过重新主动:系统在看到违反情况后进行干预。
  • 通过强制:系统可防止容器超过限制。

不同的运行时可以有不同的方法来实施相同的限制。

注意

如果您为资源指定限制,但没有指定任何请求,且没有为该资源应用一个默认请求,则 Kubernetes 会复制您指定的限制,并将它用作资源的请求值。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部