文档首页/ 华为云UCS/ 常见问题/ 容器舰队/ 调度策略配置为Lazy延迟生效的常见问题FAQ
更新时间:2025-07-25 GMT+08:00

调度策略配置为Lazy延迟生效的常见问题FAQ

问题描述

  1. 使用kubectl创建工作负载后,再创建延迟生效(Lazy模式)的调度策略PropagationPolicy/ClusterPropagationPolicy,创建完成后工作负载资源由于延迟生效特性,未正常分发。
  2. 删除1中创建的延迟生效的调度策略,再重新创建立即生效的(not Lazy模式)的调度策略PropagationPolicy/ClusterPropagationPolicy,工作负载资源仍未按预期分发。

可能原因

先创建工作负载资源再创建延迟生效的调度策略,工作负载资源在创建后,会进入Karmada的等待队列,在配置延迟生效的调度策略后,该工作负载资源会从等待队列中移出,并且绑定该延迟生效的调度策略,但此时并不会生成ResourceBinding。由于Karmada当前的机制,在删除调度策略时,会先查询ResourceBinding,再去查询对应的工作负载资源,但此时由于ResourceBinding未生成,导致工作负载资源无法完全清理,资源无法进入等待队列。(即这种情况下删除延迟生效(Lazy模式)的调度策略清理不完全);再创建新的立即生效的调度策略时,工作负载资源不在等待队列中,因此无法立即匹配到立即生效的调度策略,需要延迟到工作负载资源发生变更时才能匹配新的调度策略并分发。

解决方案

修改工作负载的yaml中的参数,触发一次工作负载资源的更新和调度。例如给工作负载增加labels、annotations、单击重新部署等,均可以触发该工作负载资源的调度。

指导示例

  1. 先创建延迟生效的调度策略。

  2. 再创建工作负载。

  3. 资源分发成功。