Files
kubevela/docs/install.md
Hongchao Deng 4426133c43 Fix vela install to include all dependencies (#467)
* Fix vela install to include all dependencies

rewrite server dependency component install:

- Don't rely on crd name. Continue installing all charts.
- Rewrite signal handler to uninstall dependencies before exiting.

Signed-off-by: Hongchao Deng <hongchaodeng1@gmail.com>

* fix

Signed-off-by: Hongchao Deng <hongchaodeng1@gmail.com>
2020-10-29 15:24:02 +08:00

2.6 KiB

Install KubeVela

Prerequisites

  • ubernete cluster which is v1.15.0 or greater
  • kubectl current context is configured for the target cluster install
    • kubectl config current-context

Minikube

TODO enable ingress controller

KinD

TODO anything need to do?

Get KubeVela

TODO please give a copy-paste friendly shell instead of instructions

  1. Download the latest vela binary from the releases page.
  2. Unpack the vela binary and add it to $PATH to get started.
$ sudo mv ./vela /usr/local/bin/vela

Initialize KubeVela

Run:

$ vela install

This will install KubeVela server component and its dependency components.

Verify

Check Vela Helm Chart has been installed:

$ helm list -n vela-system
NAME    	NAMESPACE  	REVISION	...
kubevela	vela-system	1       	...

Later on, check that the dependency components has been installed:

$ helm list --all-namespaces
NAME                 	NAMESPACE   	REVISION	...
cert-manager         	cert-manager	1       	...
flagger              	vela-system 	1
ingress-nginx        	vela-system 	1
kube-prometheus-stack	monitoring  	1
grafana              	monitoring  	1
...

Dependencies

We have installed the following dependency components along with Vela server component:

The config has been saved in a ConfigMap in "vela-system/vela-config":

$ kubectl -n vela-system get cm vela-config -o yaml
apiVersion: v1
data:
  certificates.cert-manager.io: |
    {
      "repo": "jetstack",
      "urL": "https://charts.jetstack.io",
      "name": "cert-manager",
      "namespace": "cert-manager",
      "version": "1.0.3"
    }
  flagger.app: |
  ...
kind: ConfigMap

User can specify their own dependencies by editing the vela-config ConfigMap. Currently adding new chart or updating existing chart requires redeploying Vela:

$ kubectl -n vela-system edit cm vela-config
...

$ helm uninstall -n vela-system kubevela
$ helm install -n vela-system kubevela

Clean Up

Run:

$ helm uninstall -n vela-system kubevela
$ rm -r ~/.vela

This will uninstall KubeVela server component and its dependency components. This also cleans up local CLI cache.

Then clean up CRDs:

$ kubectl delete crd workloaddefinitions.core.oam.dev traitdefinitions.core.oam.dev  scopedefinitions.core.oam.dev