AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1002849
Accepted
JasonGenX
JasonGenX
Asked: 2020-02-13 13:58:11 +0800 CST2020-02-13 13:58:11 +0800 CST 2020-02-13 13:58:11 +0800 CST

Kubernetes:200% CPU 限制的集群节点。只显示数学?或潜在问题?

  • 772

0

所以,假设有一个集群节点,有 4 个 CPU 内核。

它正在运行两个 pod。每个 pod 将 CPU 要求设置为:500m,但 CPU 限制为 4000m。

运行kubectldescribe node 告诉我 CPU 限制为 8 (200%)

我知道它声称 200%,因为我有两个 pod,每个 pod 都将其 CPU 限制设置为 4 个 CPU 内核。

这只是语义还是存在潜在问题?我的意思是,如果两个 pod 都需要爆破到 3 个 CPU 核心(低于每个核心的限制),这在物理上是不可能的,他们必须以更少的数量解决。

所有 pod 限制的总和是否存在超过其主机节点 CPU 能力的潜在问题?或者只是作为 CPU 限制所要求的指示,知道它可能无法提供服务——毕竟,Pod 可能不知道彼此在同一个节点中。

kubernetes
  • 1 1 个回答
  • 341 Views

1 个回答

  • Voted
  1. Best Answer
    John Mahowald
    2020-02-13T21:12:56+08:002020-02-13T21:12:56+08:00

    是的,限制是该节点 CPU 的 200%。是的,这是过度使用,你有 4 个 CPU 而不是 8 个。

    CPU 很容易节流,调度程序为您提供更少的时间片。来自关于资源请求和限制的 Google 帖子:

    如果您有一个节点,其中所有容器限制的总和实际上高于机器上可用的资源怎么办?

    此时,Kubernetes 进入了一种称为“过度使用状态”的状态。这就是事情变得有趣的地方。因为 CPU 可以被压缩,Kubernetes 将确保您的容器获得它们请求的 CPU,并限制其余的。内存无法压缩,因此 Kubernetes 需要开始决定在节点内存不足时终止哪些容器。

    这是一个性能和容量规划问题。请求为 500m 但限制为 4000m 的 Pod 可以突发到调度最小值的 8 倍。这可能是性能上的重大偏差,具体取决于资源可用性。如果这很糟糕,取决于您是否想要可预测的性能或机会性地使用容量。

    Pod 不必知道节点上要安排什么来影响容量规划。

    • 对于真正的单线程容器,1000m 以上的限制没有意义。
    • 4000m的限制,当实际消耗为1200m时,是贪心的。

    总体而言,提高超额认购率往往会使调整集群规模和获得可预测的性能变得更加困难。也许很难判断将节点加倍是否会提高性能,以及在没有证据的情况下是否有人认为更多更好。

    • 2

相关问题

  • 无法通过 Docker 在本地运行 Hyperkube (kubernetes)

  • 跨 Kubernetes 分散工作负载

  • Kubernetes升级回滚机器类型

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve