Files
kubevela/charts/vela-core/README.md
2022-10-25 14:51:26 +08:00

17 KiB



Make shipping applications more enjoyable.

Build status Go Report Card Docker Pulls codecov LICENSE Releases TODOs Twitter Artifact HUB CII Best Practices

KubeVela helm chart

KubeVela is a modern application platform that makes it easier and faster to deliver and manage applications across hybrid, multi-cloud environments. At the mean time, it is highly extensible and programmable, which can adapt to your needs as they grow.

TL;DR

helm repo add kubevela https://charts.kubevela.net/core
helm repo update
helm install --create-namespace -n vela-system kubevela kubevela/vela-core --wait

Prerequisites

  • Kubernetes >= v1.19 && < v1.22

Parameters

KubeVela core parameters

Name Description Value
systemDefinitionNamespace System definition namespace, if unspecified, will use built-in variable .Release.Namespace. nil
applicationRevisionLimit Application revision limit 10
definitionRevisionLimit Definition revision limit 20
concurrentReconciles concurrentReconciles is the concurrent reconcile number of the controller 4
controllerArgs.reSyncPeriod The period for resync the applications 5m
OAMSpecVer OAMSpecVer is the oam spec version controller want to setup v0.3
disableCaps Disable capability rollout
enableFluxcdAddon Whether to enable fluxcd addon false
dependCheckWait dependCheckWait is the time to wait for ApplicationConfiguration's dependent-resource ready 30s

KubeVela workflow parameters

Name Description Value
workflow.enableSuspendOnFailure Enable suspend on workflow failure false
workflow.backoff.maxTime.waitState The max backoff time of workflow in a wait condition 60
workflow.backoff.maxTime.failedState The max backoff time of workflow in a failed condition 300
workflow.step.errorRetryTimes The max retry times of a failed workflow step 10

KubeVela controller parameters

Name Description Value
replicaCount KubeVela controller replica count 1
imageRegistry Image registry ""
image.repository Image repository oamdev/vela-core
image.tag Image tag latest
image.pullPolicy Image pull policy Always
resources.limits.cpu KubeVela controller's cpu limit 500m
resources.limits.memory KubeVela controller's memory limit 1Gi
resources.requests.cpu KubeVela controller's cpu request 50m
resources.requests.memory KubeVela controller's memory request 20Mi
webhookService.type KubeVela webhook service type ClusterIP
webhookService.port KubeVela webhook service port 9443
healthCheck.port KubeVela health check port 9440

KubeVela controller optimization parameters

Name Description Value
optimize.cachedGvks Optimize types of resources to be cached. ""
optimize.resourceTrackerListOp Optimize ResourceTracker List Op by adding index. true
optimize.controllerReconcileLoopReduction Optimize ApplicationController reconcile by reducing the number of loops to reconcile application. false
optimize.markWithProb Optimize ResourceTracker GC by only run mark with probability. Side effect: outdated ResourceTracker might not be able to be removed immediately. 0.1
optimize.disableComponentRevision Optimize componentRevision by disabling the creation and gc false
optimize.disableApplicationRevision Optimize ApplicationRevision by disabling the creation and gc. false
optimize.disableWorkflowRecorder Optimize workflow recorder by disabling the creation and gc. false
optimize.enableInMemoryWorkflowContext Optimize workflow by use in-memory context. false
optimize.disableResourceApplyDoubleCheck Optimize workflow by ignoring resource double check after apply. false
optimize.enableResourceTrackerDeleteOnlyTrigger Optimize resourcetracker by only trigger reconcile when resourcetracker is deleted. true
featureGates.enableLegacyComponentRevision if disabled, only component with rollout trait will create component revisions false
featureGates.gzipResourceTracker if enabled, resourceTracker will be compressed using gzip before being stored false
featureGates.zstdResourceTracker if enabled, resourceTracker will be compressed using zstd before being stored. It is much faster and more efficient than gzip. If both gzip and zstd are enabled, zstd will be used. false
featureGates.applyOnce if enabled, the apply-once feature will be applied to all applications, no state-keep and no resource data storage in ResourceTracker false
featureGates.multiStageComponentApply if enabled, the multiStageComponentApply feature will be combined with the stage field in TraitDefinition to complete the multi-stage apply. false

MultiCluster parameters

Name Description Value
multicluster.enabled Whether to enable multi-cluster true
multicluster.metrics.enabled Whether to enable multi-cluster metrics collect false
multicluster.clusterGateway.replicaCount ClusterGateway replica count 1
multicluster.clusterGateway.port ClusterGateway port 9443
multicluster.clusterGateway.image.repository ClusterGateway image repository oamdev/cluster-gateway
multicluster.clusterGateway.image.tag ClusterGateway image tag v1.4.0
multicluster.clusterGateway.image.pullPolicy ClusterGateway image pull policy IfNotPresent
multicluster.clusterGateway.resources.limits.cpu ClusterGateway cpu limit 100m
multicluster.clusterGateway.resources.limits.memory ClusterGateway memory limit 200Mi
multicluster.clusterGateway.secureTLS.enabled Whether to enable secure TLS true
multicluster.clusterGateway.secureTLS.certPath Path to the certificate file /etc/k8s-cluster-gateway-certs
multicluster.clusterGateway.secureTLS.certManager.enabled Whether to enable cert-manager false

Test parameters

Name Description Value
test.app.repository Test app repository oamdev/hello-world
test.app.tag Test app tag v1
test.k8s.repository Test k8s repository oamdev/alpine-k8s
test.k8s.tag Test k8s tag 1.18.2

Common parameters

Name Description Value
imagePullSecrets Image pull secrets []
nameOverride Override name ""
fullnameOverride Fullname override ""
serviceAccount.create Specifies whether a service account should be created true
serviceAccount.annotations Annotations to add to the service account {}
serviceAccount.name The name of the service account to use. If not set and create is true, a name is generated using the fullname template nil
nodeSelector Node selector {}
tolerations Tolerations []
affinity Affinity {}
rbac.create Specifies whether a RBAC role should be created true
logDebug Enable debug logs for development purpose false
logFilePath If non-empty, write log files in this path ""
logFileMaxSize Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. 1024
kubeClient.qps The qps for reconcile clients, default is 50 50
kubeClient.burst The burst for reconcile clients, default is 100 100
authentication.enabled Enable authentication for application false
authentication.withUser Application authentication will impersonate as the request User false
authentication.defaultUser Application authentication will impersonate as the User if no user provided in Application kubevela:vela-core
authentication.groupPattern Application authentication will impersonate as the request Group that matches the pattern kubevela:*

Uninstallation

Vela CLI

To uninstall KubeVela, you can just run the following command by vela CLI:

vela uninstall --force

Helm CLI

Notice: You must disable all the addons before uninstallation, this is a script for convenience.

#! /bin/sh
addon=$(vela addon list|grep enabled|awk {'print $1'})

fluxcd=false
for var in ${addon[*]}
do
  if [ $var == "fluxcd" ]; then
      fluxcd=true
      continue
      else
        vela addon disable $var
  fi
done
if [ $fluxcd ]; then
    vela addon disable fluxcd
fi

To uninstall the KubeVela helm release:

$ helm uninstall -n vela-system kubevela

Finally, this command will remove all the Kubernetes resources associated with KubeVela and remove this chart release.