Skip to main content

本文档详细介绍Volcano调度系统中schedulercontroller-manageradmission核心组件的启动参数配置。

1. Scheduler

volcano-schedulerVolcano的核心调度组件,负责Pod的调度决策。

镜像默认启动参数:

--logtostderr
--scheduler-conf=/volcano.scheduler/volcano-scheduler.conf
--enable-healthz=true
--enable-metrics=true
--leader-elect=false
--kube-api-qps=2000
--kube-api-burst=2000
--schedule-period=1s
--node-worker-threads=20
-v=3
2>&1

1.1 基础配置参数

参数名称参数类型默认值参数说明
--masterstringKubernetes API服务器地址(覆盖kubeconfig中的值)
--kubeconfigstringkubeconfig文件路径,包含授权和master位置信息
--scheduler-name[]string["volcano"]调度器名称,只处理.spec.SchedulerName匹配的Pod
--scheduler-confstring调度器配置文件的绝对路径
--schedule-periodduration1s每个调度周期的间隔时间
--resync-periodduration0Kubernetes原生informer工厂的默认重新同步周期
--default-queuestringdefault作业的默认队列名称

1.2 网络和安全参数

参数名称参数类型默认值参数说明
--listen-addressstring:8080HTTP请求监听地址
--healthz-addressstring:11251健康检查服务器监听地址
--ca-cert-filestringHTTPSx509证书文件
--tls-cert-filestringHTTPS的默认x509证书文件
--tls-private-key-filestring--tls-cert-file匹配的x509私钥文件

1.3 API客户端参数

参数名称参数类型默认值参数说明
--kube-api-qpsfloat322000.0Kubernetes APIServer通信时使用的QPS
--kube-api-burstint2000Kubernetes APIServer通信时使用的Burst

1.4 调度优化参数

参数名称参数类型默认值参数说明
--minimum-feasible-nodesint32100查找和评分的最小可行节点数
--minimum-percentage-nodes-to-findint325查找和评分的最小节点百分比
--percentage-nodes-to-findint320每个调度周期评分的节点百分比,<=0时基于集群大小自动计算
--node-worker-threadsuint3220同步节点操作的线程数

1.5 功能开关参数

参数名称参数类型默认值参数说明
--priority-classbooltrue启用PriorityClass以提供pod组级别的抢占能力
--csi-storageboolfalse启用跟踪CSI驱动程序提供的可用存储容量
--enable-healthzboolfalse启用健康检查
--enable-metricsboolfalse启用指标功能
--enable-pprofboolfalse启用pprof端点
--cache-dumperbooltrue启用缓存转储器

1.6 高级配置参数

参数名称参数类型默认值参数说明
--plugins-dirstringvc-scheduler加载自定义插件的目录
--node-selector[]stringnilvolcano只处理带有指定标签的节点
--cache-dump-dirstring/tmp缓存信息转储到JSON文件的目标目录
--ignored-provisioners[]stringnilpod pvc请求计算和抢占期间忽略的provisioner列表

1.7 Leader选举参数

参数名称参数类型默认值参数说明
--leader-electbooltrue启用leader选举,确保只有一个调度器实例处于活动状态
--leader-elect-lease-durationduration15sleader选举租约持续时间
--leader-elect-renew-deadlineduration10sleader选举续约截止时间
--leader-elect-retry-periodduration2sleader选举重试周期
--leader-elect-resource-lockstringleasesleader选举使用的资源锁类型
--leader-elect-resource-namestringvolcano-schedulerleader选举资源名称
--leader-elect-resource-namespacestringvolcano-systemleader选举资源所在的命名空间
--lock-object-namespacestringvolcano-system锁对象的命名空间(已弃用,使用--leader-elect-resource-namespace

1.8 日志参数

参数名称参数类型默认值参数说明
-vint0日志级别,数值越大日志越详细
--logtostderrboolfalse将日志输出到stderr而不是文件
--alsologtostderrboolfalse同时将日志输出到stderr和文件
--log_dirstring日志文件输出目录
--log_filestring日志文件路径
--log_file_max_sizeuint641800日志文件最大大小(MB)
--skip_headersboolfalse跳过日志头信息
--skip_log_headersboolfalse跳过日志头信息
--stderrthresholdint2输出到stderr的日志级别阈值
--vmodulestring按模块设置日志级别,格式:pattern=N,...
--log-flush-frequencyduration5s日志刷新之间的最大秒数

1.9 Feature Gate参数

参数名称参数类型默认值参数说明
--feature-gatesstring启用或禁用特定功能的键值对列表,格式:key1=value1,key2=value2

1.10 其他参数

参数名称参数类型默认值参数说明
--versionboolfalse显示版本信息并退出

2. Controller Manager

volcano-controller-manager负责管理Volcano的自定义资源管理,如JobQueuePodGroup等。

镜像默认启动参数:

--logtostderr
--enable-healthz=true
--enable-metrics=true
--leader-elect=false
--kube-api-qps=50
--kube-api-burst=100
--worker-threads=3
--worker-threads-for-gc=5
--worker-threads-for-podgroup=5
-v=4
2>&1

2.1 基础配置参数

参数名称参数类型默认值参数说明
--masterstringKubernetes API服务器地址(覆盖kubeconfig中的值)
--kubeconfigstringkubeconfig文件路径,包含授权和master位置信息
--scheduler-name[]string["volcano"]处理.spec.SchedulerName匹配的Pod

2.2 网络和安全参数

参数名称参数类型默认值参数说明
--listen-addressstring:8081HTTP请求监听地址
--healthz-addressstring:11251健康检查服务器监听地址
--ca-cert-filestringHTTPSx509证书文件
--tls-cert-filestringHTTPS的默认x509证书文件
--tls-private-key-filestring--tls-cert-file匹配的x509私钥文件

2.3 API客户端参数

参数名称参数类型默认值参数说明
--kube-api-qpsfloat3250.0Kubernetes APIServer通信时使用的QPS
--kube-api-burstint100Kubernetes APIServer通信时使用的Burst

2.4 工作线程参数

参数名称参数类型默认值参数说明
--worker-threadsuint323并发同步作业操作的线程数,数量越大作业更新越快但CPU负载更高
--worker-threads-for-podgroupuint325同步podgroup操作的线程数,数量越大处理越快但需要更多CPU负载
--worker-threads-for-queueuint325同步队列操作的线程数,数量越大处理越快但需要更多CPU负载
--worker-threads-for-gcuint321回收作业的线程数,数量越大回收越快但需要更多CPU负载

2.5 重试和控制参数

参数名称参数类型默认值参数说明
--max-requeue-numint15作业、队列或命令在从队列中删除之前的重新排队次数
--controllers[]string["*"]指定要启用的控制器,使用'*'表示所有控制器

2.6 功能开关参数

参数名称参数类型默认值参数说明
--enable-healthzboolfalse启用健康检查
--enable-metricsboolfalse启用指标功能
--inherit-owner-annotationsbooltrue创建podgroup时启用继承所有者注释

2.7 Leader选举参数

参数名称参数类型默认值参数说明
--leader-electbooltrue启用leader选举,确保只有一个控制器实例处于活动状态
--leader-elect-lease-durationduration15sleader选举租约持续时间
--leader-elect-renew-deadlineduration10sleader选举续约截止时间
--leader-elect-retry-periodduration2sleader选举重试周期
--leader-elect-resource-lockstringleasesleader选举使用的资源锁类型
--leader-elect-resource-namestringvc-controller-managerleader选举资源名称
--leader-elect-resource-namespacestringvolcano-systemleader选举资源所在的命名空间
--lock-object-namespacestringvolcano-system锁对象的命名空间(已弃用,使用--leader-elect-resource-namespace

2.8 日志参数

参数名称参数类型默认值参数说明
-vint0日志级别,数值越大日志越详细
--logtostderrboolfalse将日志输出到stderr而不是文件
--alsologtostderrboolfalse同时将日志输出到stderr和文件
--log_dirstring日志文件输出目录
--log_filestring日志文件路径
--log_file_max_sizeuint641800日志文件最大大小(MB)
--skip_headersboolfalse跳过日志头信息
--skip_log_headersboolfalse跳过日志头信息
--stderrthresholdint2输出到stderr的日志级别阈值
--vmodulestring按模块设置日志级别,格式:pattern=N,...
--log-flush-frequencyduration5s日志刷新之间的最大秒数

2.9 Feature Gate参数

参数名称参数类型默认值参数说明
--feature-gatesstring启用或禁用特定功能的键值对列表,格式:key1=value1,key2=value2

2.10 其他参数

参数名称参数类型默认值参数说明
--versionboolfalse显示版本信息并退出

3. Admission(Webhook Manager)

volcano-webhook-manager(vc-webhook-manager)Volcanoadmission控制器组件,负责对Volcano资源进行准入控制和验证。

镜像默认启动参数:

--enabled-admission=/jobs/mutate,/jobs/validate,/podgroups/validate,/queues/mutate,/queues/validate,/hypernodes/validate
--tls-cert-file=/admission.local.config/certificates/tls.crt
--tls-private-key-file=/admission.local.config/certificates/tls.key
--ca-cert-file=/admission.local.config/certificates/ca.crt
--admission-conf=/admission.local.config/configmap/volcano-admission.conf
--webhook-namespace=volcano-system
--webhook-service-name=volcano-admission-service
--enable-healthz=true
--logtostderr
--port=8443
-v=4
2>&1

3.1 基础配置参数

参数名称参数类型默认值参数说明
--masterstringKubernetes API服务器地址(覆盖kubeconfig中的值)
--kubeconfigstringkubeconfig文件路径,包含授权和master位置信息
--scheduler-name[]string["volcano"]处理.spec.SchedulerName匹配的Pod

3.2 网络和服务参数

参数名称参数类型默认值参数说明
--listen-addressstringadmission控制器服务器监听地址
--portint8443admission控制器服务器使用的端口
--healthz-addressstring:11251健康检查服务器监听地址

3.3 TLS和安全参数

参数名称参数类型默认值参数说明
--tls-cert-filestringHTTPS的默认x509证书文件
--tls-private-key-filestring--tls-cert-file匹配的x509私钥文件
--ca-cert-filestringHTTPSx509证书文件

3.4 Webhook配置参数

参数名称参数类型默认值参数说明
--webhook-namespacestringwebhook所在的命名空间
--webhook-service-namestringwebhook服务名称
--webhook-urlstringwebhookURL地址
--admission-confstringwebhookconfigmap配置文件

3.5 Admission控制参数

参数名称参数类型默认值参数说明
--enabled-admissionstring/jobs/mutate,/jobs/validate,/podgroups/mutate,/pods/validate,/pods/mutate,/queues/mutate,/queues/validate启用的admission webhook列表
--graceful-shutdown-timeduration30s优雅关闭时强制终止前的等待时间

3.6 API客户端参数

参数名称参数类型默认值参数说明
--kube-api-qpsfloat3250.0Kubernetes APIServer通信时使用的QPS
--kube-api-burstint100Kubernetes APIServer通信时使用的Burst

3.7 功能开关参数

参数名称参数类型默认值参数说明
--enable-healthzboolfalse启用健康检查

3.8 日志参数

参数名称参数类型默认值参数说明
-vint0日志级别,数值越大日志越详细
--logtostderrboolfalse将日志输出到stderr而不是文件
--alsologtostderrboolfalse同时将日志输出到stderr和文件
--log_dirstring日志文件输出目录
--log_filestring日志文件路径
--log_file_max_sizeuint641800日志文件最大大小(MB)
--skip_headersboolfalse跳过日志头信息
--skip_log_headersboolfalse跳过日志头信息
--stderrthresholdint2输出到stderr的日志级别阈值
--vmodulestring按模块设置日志级别,格式:pattern=N,...
--log-flush-frequencyduration5s日志刷新之间的最大秒数

3.9 其他参数

参数名称参数类型默认值参数说明
--versionboolfalse显示版本信息并退出