Version: v1.1

启动参数说明

KubeVela 控制器的各项启动参数及其说明如下。

参数名类型默认值描述
use-webhookboolfalse使用 Admission Webhook
webhook-cert-dirstring/k8s-webhook-server/serving-certsAdmission Webhook 的密钥文件夹
webhook-portint9443Admission Webhook 的监听地址
metrics-addrstring:8080Prometheus 指标的监听地址
enable-leader-electionboolfalse为 Controller Manager 启用 Leader Election,确保至多有一个控制器处于工作状态
leader-election-namespacestring“”Leader Election 的 ConfigMap 所在的命名空间
log-file-pathstring“”日志文件路径
log-file-max-sizeint1024日志文件的最大量,单位为 MB
log-debugboolfalse将日志级别设为调试,开发环境下使用
application-revision-limitint10最大维护的应用历史版本数量,当应用版本数超过此数值时,较早的版本会被丢弃
definition-revision-limitint20最大维护的模块定义历史版本数量
autogen-workload-definitionbooltrue自动为 组件定义 生成 工作负载定义
health-addrstring:9440健康检查监听地址
apply-once-onlystringfalse工作负载及特征在生成后不再变更,在特定需求环境下使用
disable-capsstring“”禁用内置的能力
storage-driverstringLocal应用文件的存储驱动
informer-re-sync-intervaltime1h无变更情况下,控制器轮询维护资源的周期
system-definition-namespacestringvela-system系统级特征定义的命名空间
concurrent-reconcilesint4控制器处理请求的并发线程数
kube-api-qpsint50控制器访问 apiserver 的速率
kube-api-burstint100控制器访问 apiserver 的短时最大速率
oam-spec-varstringv0.3OAM 标准的使用版本
pprof-addrstring“”使用 pprof 监测性能的监听地址,默认为空时不监测
perf-enabledboolfalse启用控制器性能记录,可以配合监控组件监测当前控制器的性能瓶颈
enable-cluster-gatewayboolfalse启动多集群功能

未列在表中的参数为旧版本参数,当前版本 v1.1 无需关心

重点参数介绍

  • informer-re-sync-interval: 在应用配置未发生变化时,KubeVela 控制器主动维护应用的间隔时间。过短的时间会导致控制器频繁调谐不需要同步的应用。间隔性地维护确保应用及其组件的状态保持同步,不会因特殊情况造成的状态不一致持续过长时间
  • concurrent-reconciles: 用来控制并发处理请求的线程数,当控制器能够获得较多的 CPU 资源时,如果不相应的提高线程数会导致无法充分利用多核的性能
  • kube-api-qps / kube-api-burst: 用来控制 KubeVela 控制器访问 apiserver 的频率。当 KubeVela 控制器管理的应用较为复杂时 ( 包含较多的组件及资源 ),如果 KubeVela 控制器对 apiserver 的访问速率受限,则较难提高 KubeVela 控制器的并发量。然而过高的请求速率也有可能对 apiserver 造成较大的负担
  • pprof-addr: 开启该地址可以启用 pprof 进行控制器性能调试
  • perf-enabled: 启用时可以在日志中看到 KubeVela 控制器管理应用时各个阶段的时间开销,关闭可以简化日志记录

性能调优章节中包含了若干组不同场景下的推荐参数配置。