24.8. Scenario 示例


一个 Operator:

  • 具有内存容量为 10Gi 的节点。
  • 希望为系统守护进程(如内核、节点和其他守护进程)保留 10% 内存容量。
  • 希望以 95% 内存利用率驱除 pod,以减少系统的 OOM 出现和推移。

此配置中隐式理解 system-reserved 应该包括驱除阈值所涵盖的内存量。

要达到这个容量,一些 pod 都使用它的请求,或者系统正在使用 1Gi。

如果节点有 10 Gi 容量,且您想要为系统守护进程保留 system-reserved 设置的 10%,请执行以下计算:

capacity = 10 Gi
system-reserved = 10 Gi * .1 = 1 Gi

可分配的资源量成为:

allocatable = capacity - system-reserved = 9 Gi

这意味着调度程序将调度为该节点请求 9 Gi 内存的 pod。

如果要启用驱除,以便在节点发现可用内存低于 10% 30 秒时,或低于 5% 容量时立即触发驱除,您需要调度程序将可分配内存评估为 8Gi。因此,请确定您的系统保留涵盖了您的驱除阈值。

capacity = 10 Gi
eviction-threshold = 10 Gi * .1 = 1 Gi
system-reserved = (10Gi * .1) + eviction-threshold = 2 Gi
allocatable = capacity - system-reserved = 8 Gi

将以下内容添加到适当的节点 配置映射

kubeletArguments:
  system-reserved:
  - "memory=2Gi"
  eviction-hard:
  - "memory.available<.5Gi"
  eviction-soft:
  - "memory.available<1Gi"
  eviction-soft-grace-period:
  - "memory.available=30s"

此配置可确保调度程序不会将 pod 放置到节点上,并立即引发内存压力并触发驱除。此配置假定这些 pod 使用小于配置的请求。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.