You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes 1.18版本如何修改自定义调度器的启用策略及调度权重

Kubernetes 1.18 调度策略配置指南

查看默认调度策略(default policies)

两种常用方式:

  • 参考官方1.18版本源码定义:默认调度策略的过滤(predicate)、打分(priority)规则及默认权重均硬编码在1.18版本的调度器源码中,可直接对照版本对应的源码文档确认默认值。
  • 本地导出运行时默认配置:在已经部署kube-scheduler的节点上,执行命令
    kube-scheduler --write-config-to /tmp/kube-scheduler-default.yaml
    
    导出的/tmp/kube-scheduler-default.yaml文件中会包含当前版本所有生效的默认调度策略。

修改/覆盖调度策略与权重

Kubernetes 1.18 未支持beta版KubeSchedulerConfiguration,需通过自定义策略配置文件的方式修改,操作步骤如下:

  1. 编写自定义调度策略文件,支持YAML或JSON格式,示例结构如下:
apiVersion: v1
kind: Policy
# 过滤规则:不需要的默认规则可删除,新增调度器的过滤规则可在此添加
predicates:
  - name: PodFitsResources
  - name: PodFitsHostPorts
  - name: MatchNodeSelector
  - name: PodToleratesNodeTaints
# 打分规则:直接修改weight字段调整权重,新增调度器的打分规则可在此添加
priorities:
  - name: LeastRequestedPriority
    weight: 1
  - name: BalancedResourceAllocation
    weight: 1
  - name: NodeAffinityPriority
    weight: 3 # 此处将默认权重1调整为3
  - name: ImageLocalityPriority
    weight: 1

如果要启用another scheduler的专属策略,直接将对应策略的名称添加到predicates或priorities列表中即可。
2. 修改kube-scheduler的启动参数,新增配置项:

--policy-config-file=<你的自定义策略文件的绝对路径>
  1. 重启kube-scheduler进程,新的调度策略就会生效。

如果需要同时运行默认调度器和自定义的another scheduler,还需要给自定义调度器设置独立的scheduler-name,创建Pod时在spec.schedulerName字段指定对应调度器名称,即可指定调度实例处理该Pod的调度任务。

内容的提问来源于stack exchange,提问作者moluzhui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:54:10