Version: v1.1

Bootstrap Parameters

The introduction of bootstrap parameters in KubeVela controller are listed as below

Parameter NameTypeDefault ValueDescription
use-webhookboolfalseUse Admission Webhook
webhook-cert-dirstring/k8s-webhook-server/serving-certsThe directory of Admission Webhook cert/secret
webhook-portint9443The address of Admission Webhook
metrics-addrstring:8080The address of Prometheus metrics
enable-leader-electionboolfalseEnable Leader Election for Controller Manager and ensure that only one replica is active
leader-election-namespacestring“”The namespace of Leader Election ConfigMap
log-file-pathstring“”The log file path
log-file-max-sizeint1024The maximum size (MBi) of log files
log-debugboolfalseSet the logging level to DEBUG, used in develop environment
application-revision-limitint10The maximum number of application revisions to keep. When the number of revisions exceeeds this number, older version will be discarded
definition-revision-limitint20The maximum number of definition revisions to keep
autogen-workload-definitionbooltrueGenerate WorkloadDefinition for ComponentDefinition automatically
health-addrstring:9440The address of health check
apply-once-onlystringfalseThe Workload and Trait will not change after being applied. Used in specific scenario
disable-capsstring“”Disable internal capabilities
storage-driverstringLocalThe storage driver for applications
informer-re-sync-intervaltime1hThe resync period for for controller informer, also the time for application to be reconciled when no spec changes were made
system-definition-namespacestringvela-systemThe namespace for storing system definitions
concurrent-reconcilesint4The number of threads that controller uses to process requests
kube-api-qpsint50The QPS for controller to access apiserver
kube-api-burstint100The burst for controller to access apiserver
oam-spec-varstringv0.3The version of OAM spec to use
pprof-addrstring“”The address of pprof, default to be emtpy to disable pprof
perf-enabledboolfalseEnable performance logging, working with monitoring tools like Loki and Grafana to discover performance bottleneck
enable-cluster-gatewayboolfalseEnable multi cluster feature

Other parameters not listed in the table are old parameters used in previous versions, the latest version ( v1.1 ) does not use them.

Key Parameters

  • informer-re-sync-interval: The resync time of applications when no changes were made. A short time may cause controller to reconcile frequently but uselessly. The regular reconciles of applications can help ensure that application and its components keep up-to-date in case some unexpected differences.
  • concurrent-reconciles: The number of threads to use for controller to handle requests. When rich CPU resources are available, a small number of working threads may lead to insufficient usage of CPU resources.
  • kube-api-qps / kube-api-burst: The rate limit for KubeVela controller to access apiserver. When managed applications are complex (containing multiple components and resources), if the access rate of apiserver is limited, it will be hard to increase the concurrency of KubeVela controller. However, high access rate may cause huge burden to apiserver. It is critical to keep a balance when handling massive applications.
  • pprof-addr: The pprof address to enable controller performance debugging.
  • perf-enabled: Use this flag if you would like to check time costs for different stages when reconciling applications. Switch it off to simplify loggings.

Several sets of recommended parameter configurations are enclosed in section Performance Fine-tuning.