云原生混部 kubelet超卖兼容模式 规格约束 集群版本: v1.19集群:v1.19.16r4及以上版本 v1.21集群:v1.21.7r0及以上版本 v1.23集群:v1.23.5r0及以上版本 v1.25及以上版本 集群类型:CCE Standard集群或CCE Turbo集群。 节点OS:EulerOS 2.9 (内核kernel4.18.0147.5.1.6.h729.6.eulerosv2r9.x8664)或者HCE OS 2.0 节点类型:弹性虚拟机。 Volcano插件版本:1.7.0及以上版本。 使用限制 使用超卖特性时,需保证Volcano未启用overcommit插件。 修改超卖节点标签不会影响已经运行的pod。 运行中的pod无法进行在线和离线业务转换,如需转换需要重建pod。 集群中有节点配置超卖标签volcano.sh/oversubscriptiontrue时,Volcano插件必须要增加oversubscription配置,否则会导致超卖节点调度异常。标签配置需要由用户保证,调度器不会对插件和节点配置进行检查。 超卖特性开关目前不支持统一配置,若要关闭超卖特性,需要同时进行以下操作: 去掉超卖节点的volcano.sh/oversubscription标签。 修改Volcano调度器的名字为volcanoschedulerconfigmap的configmap,并去掉oversubscription插件。 当节点设置cpumanagerpolicy为静态绑核时,不允许将离线Pod设置为Guaranteed的Pod,若需要绑核则需要调整Pod为在线Pod,否则可能会发生离线Pod占用在线Pod的CPU导致在线Pod启动失败,以及离线Pod虽然调度成功但仍然启动失败的情况。 当节点设置cpumanagerpolicy为静态绑核时,不应对所有在线Pod进行绑核,否则会出现在线Pod占用了所有的CPU或者memory资源导致上报的超卖资源很少的情况。 集群中有节点配置超卖标签volcano.sh/oversubscriptiontrue时,Volcano插件必须要增加oversubscription配置,否则会导致超卖节点调度异常。 标签配置需要您自行保证,调度器不会对插件和节点配置进行检查。 超卖标签配置调度说明 插件超卖配置 节点超卖标签 调度行为 有 有 超卖调度 有 无 正常调度 无 无 正常调度 无 有 无法调度,或者调度失败,应避免这种配置 1. 使用kubectl连接集群。 2. 确认Volcano插件配置。 plaintext kubectl edit cm volcanoschedulerconfigmap n kubesystem 在volcano schedulerconfigmap中查看超卖的相关配置如下。同时确保插件配置中不能包含overcommit插件,如果存在( name: overcommit),则需要删除该配置。 plaintext ... data: volcanoscheduler.conf: actions: "allocate, backfill, preempt"