Kubernetes 中的硬件资源是如何定义的?CPU和内存

Ami*_*ler 4 memory cpu ram scaling kubernetes

Kubernetes 中资源分配和定义的简单解释是什么?分配“1000m”CPU单元和1024Mi off内存是什么意思?

Ami*_*ler 9

(尝试用比官方文档更简单的语言编写它)

中央处理器

在 Kubernetes 中,每个 CPU 内核都以一个“微核”为单位分配,这意味着一个虚拟内核(在虚拟机上)可以分成 1000 份 1 微核。分配 1000 毫厘将为 Pod 提供一个完整的 CPU。提供更多将需要 pod 中的代码能够使用多个核心。

记忆

很简单。您分配的每个兆字节都是为 pod 保留的。

要求

保证分配给 pod 的最少资源。如果没有足够的资源在任何节点上启动 Pod,它将保持“Pending”状态。

限制

CPU 限制当达到限制时,将导致 pod 节流。

内存限制当 pod 使用了它的所有内存并要求超过限制时,它将被视为内存泄漏并且 pod 将重新启动。

目标(在 Horizo​​ntal Pod Autoscaler 中定义)

可以应用于 CPU、内存和其他自定义指标(定义更复杂。

为 Pod 设置大小为A BC 的资源可能是个好主意,其中:A < B < C。请求 = A,目标 = B 和限制 = C。请记住,满载节点可能会阻止 Pod从达到他们的“目标”而不是永远不会扩大规模。