文档首页 > > 常见问题> 工作负载类> 工作负载异常> 工作负载异常:实例调度失败

工作负载异常:实例调度失败

分享
更新时间: 2020/01/22 GMT+08:00

当查看到工作负载状态为未就绪,事件为实例调度失败时。请查看K8S事件,查看详细原因。

如下图,K8S事件提示为“0/163 nodes are available: 133 Insufficient memory”,表示内存不足。

图1 实例调度失败

复杂的调度失败信息:

  • no nodes available to schedule pods:表示没有节点资源调度工作负载实例。
  • 0/163 nodes are available: 133 Insufficient memory:表示节点可用,但内存不足。
  • 163 Insufficient cpu:表示CPU不足。
  • 49 Insufficient nvidia.com/gpu:表示nvidia.com/gpu不足。
  • 49 InsufficientResourceOnSingleGPU:表示GPU资源不足。

信息解读:

  • 0/163 nodes are available:此集群共有163个节点,其中有0个满足调度规则。
  • 133 Insufficient memory:133个节点内存不足。
  • 163 Insufficient cpu:163个节点CPU不足。
  • 49 Insufficient nvidia.com/gpu:49个节点GPU不足。

若出现此K8S事件,请参照如下几种方式排查工作负载异常原因。

排查项一:集群内是否有可用节点

CCE控制台中,单击左侧导航栏的“资源管理 > 节点管理,查看集群内是否有可用节点。

图2 节点不可用导致

如下图所示,无可用节点导致实例调度失败。

图3 无可用节点

解决方案:

  • 新增节点,并将pod迁移至新增的可用节点,确保业务正常,然后排查不可用节点问题。排查过程可以参照节点类中的方式。
  • 请重新创建节点,或参照节点类中的方式来恢复节点。

排查项二:节点资源(CPU、内存等)是否充足

“实例资源的申请量”超过了“可用节点的可用资源总量”时,节点无法满足实例所需资源要求导致调度失败。

  1. CCE控制台中,单击左侧导航栏的“工作负载”,确认实例事件。

    图4 节点资源不足导致

  2. 单击左侧导航栏的“资源管理 > 节点管理”,查看可用节点的可用CPU和可用内存。

    图5 查看节点可用资源

    图5,节点可用CPU为0.88,可用内存为0.80。

  3. 单击左侧导航栏的“工作负载”,单击工作负载名称进入详情页面,查看CPU申请量和内存申请量。

    图6 查看工作负载的CPU申请量和内存申请量

    如上图,工作负载的CPU申请量为2,内存申请量为0.5。超过了节点的可用资源。此时,实例调度也会失败。

解决方案:

ECS控制台变更节点规格,扩大节点资源。

排查项三:检查工作负载的亲和性配置

当亲和性配置出现如下情况时,也会导致实例调度失败。

图7 亲和策略设置不适导致

解决方案:

  • 在设置“工作负载间的亲和性”和“工作负载和节点的亲和性”时,需确保不要出现互斥情况,否则工作负载会部署失败。例如,如下互斥情况,工作负载将会部署失败:

    workload1、workload2设置了工作负载间的反亲和,如workload1部署在Node1,workload2部署在Node2。

    workload3部署上线时,既希望与workload2亲和,又希望可以部署在不同节点如Node3上,这就造成了工作负载亲和与节点亲和间的互斥,导致最终工作负载部署失败。

  • 若工作负载配置了节点亲和性,需确保亲和的节点标签中supportContainer设置为true,否则会导致pod无法调动到节点上,查看事件提示如下错误信息:
    No nodes are available that match all of the following predicates: MatchNode Selector, NodeNotSupportsContainer

    如下图所示节点标签为false时调度失败 :

排查项四:挂载的存储卷与节点是否处于同一分区

挂载的存储卷与节点处于不同分区导致,如下图所示:

解决方案:

重新创建存储卷,可用区选择与节点同一分区,或重新创建工作负载存储卷选择自动分配。

分享:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区