这意味着 kubernetes 中的 OutOfcpu 错误



我在googlecloud上的kubernetes中得到了OutOfcpu,这是什么意思?我的 pod 现在似乎可以工作了,但是在同一修订版中也有 pod 获得了 OutOfcpu。

这意味着 kube-scheduler 找不到任何具有可用 CPU 的节点来调度你的 pod:

kube-scheduler 通过 2 步操作为 Pod 选择一个节点:

  1. 滤波
  2. 得分

筛选步骤查找可行的节点集 调度 Pod。例如,PodFitsResources筛选器检查 候选节点是否有足够的可用资源来满足 Pod 的 特定资源请求。
[...]
PodFitsResources : 检查是否 节点有可用资源(例如,CPU和内存(来满足要求 的吊舱。

此外,根据将 Pod 分配给节点:

如果命名节点没有资源来容纳 Pod, Pod 将失败,其原因将指示原因,例如内存不足 或 OutOfcpu

除了how-kube-scheduler-schedules-pods之外,我认为这将有助于理解为什么会出现OutOfcpu错误。

当你创建一个 Pod 时,Kubernetes 调度器会选择一个节点来 要运行的 Pod 。每个节点都有每个节点的最大容量 资源类型:它可以为 Pod 提供的 CPU 和内存量。 调度程序确保对于每种资源类型,总和 计划容器的资源请求小于 节点的容量。请注意,虽然实际内存或 CPU 资源 节点上的使用率非常低,调度器仍然拒绝放置 Pod 如果容量检查失败,则在节点上。这可以防止 当资源使用量以后增加时,节点上的资源短缺,对于 例如,在请求速率的每日高峰期间。

参考:如何计划带有资源请求的 pod

最新更新