Custom Installation/Upgrade

Install KubeVela with Existing Kubernetes cluster

1. Prerequisites:

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

KubeVela relies on Kubernetes as a control plane. The control plane could be any managed Kubernetes offering or your own clusters, such as:

Please make sure one of the ingress controllers is available in your Kubernetes cluster.

2. Install KubeVela CLI

KubeVela CLI provides an easy to engage and manage your application delivery in command lines.

  • Script
  • Homebrew
  • Download directly from releases
  • Docker

MacOS/Linux

  1. curl -fsSl https://kubevela.net/script/install.sh | bash -s v1.4.9

Windows

Only the official release version is supported.

  1. powershell -Command "iwr -useb https://kubevela.net/script/install.ps1 | iex"

macOS/Linux

Update your brew first. Please note that the brew method only supports the installation of the official release version.

  1. brew update

Then install KubeVela CLI

  1. brew install kubevela
  • Download the latest vela binary file via release log.
  • Unzip the binary file, and configure the environment variables in $PATH, and you’re done.
  1. sudo mv ./vela /usr/local/bin/vela

Installation Tips: If you are using a Mac system, it will pop up a warning that “vela” cannot be opened because the package from the developer cannot be verified.

MacOS imposes stricter restrictions on the software that can run in the system. You can temporarily solve this problem by opening System Preference ->Security & Privacy -> General and clicking on Allow Anyway.

If you have docker environment, you can easily run CLI with the vela CLI docker image called oamdev/vela-cli:

  1. $ docker run --rm -it -v ~/.kube:/root/.kube oamdev/vela-cli version
  2. CLI Version: master
  3. Core Version: v1.3.4
  4. GitRevision: git-1d823780
  5. GolangVersion: go1.17.10

Refer to using Vela CLI docker image for more usage.

3. Install KubeVela Core

  • Default
  • Helm
  1. $ vela install --version=v1.4.9

check out the outcome

  1. ...
  2. Watching for changes to Job kubevela-vela-core-cluster-gateway-tls-secret-patch with timeout of 18m0s
  3. Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: ADDED
  4. kubevela-vela-core-cluster-gateway-tls-secret-patch: Jobs active: 0, jobs failed: 0, jobs succeeded: 0
  5. Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: MODIFIED
  6. kubevela-vela-core-cluster-gateway-tls-secret-patch: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
  7. Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: MODIFIED
  8. kubevela-vela-core-cluster-gateway-tls-secret-patch: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
  9. Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: MODIFIED
  10. Starting delete for "kubevela-vela-core-admission" ServiceAccount
  11. Starting delete for "kubevela-vela-core-admission" ClusterRole
  12. Starting delete for "kubevela-vela-core-admission" ClusterRoleBinding
  13. Starting delete for "kubevela-vela-core-admission" Role
  14. Starting delete for "kubevela-vela-core-admission" RoleBinding
  15. Starting delete for "kubevela-vela-core-admission-patch" Job
  16. Starting delete for "kubevela-vela-core-cluster-gateway-admission" ServiceAccount
  17. Starting delete for "kubevela-vela-core-cluster-gateway-admission" Role
  18. Starting delete for "kubevela-vela-core-cluster-gateway-admission" RoleBinding
  19. Starting delete for "kubevela-vela-core-cluster-gateway-tls-secret-patch" Job
  20. KubeVela control plane has been successfully set up on your cluster.
  21. If you want to enable dashboard, please run "vela addon enable velaux"

If you are helm user, you can also use helm to install kubevela core:

helm v3.2.0+ required

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

4 Install VelaUX

Please refer to VelaUX Guide.

Upgrade

If you’re trying to upgrade from a big version later (e.g. from 1.2.x to 1.4.x), please refer to version migration for more guides.

1. Upgrade CLI

  • Script
  • Homebrew
  • Download directly from releases
  • Docker

MacOS/Linux

  1. curl -fsSl https://kubevela.io/script/install.sh | bash -s v1.4.9

Windows

Only the official release version is supported.

  1. powershell -Command "iwr -useb https://kubevela.io/script/install.ps1 | iex"

macOS/Linux

Update your brew first. Please note that the brew method only supports the installation of the official release version.

  1. brew update

Then install KubeVela CLI

  1. brew install kubevela
  • Download the latest vela binary file via release log.
  • Unzip the binary file, and configure the environment variables in $PATH, and you’re done.
  1. sudo mv ./vela /usr/local/bin/vela

Installation Tips: If you are using a Mac system, it will pop up a warning that “vela” cannot be opened because the package from the developer cannot be verified.

MacOS imposes stricter restrictions on the software that can run in the system. You can temporarily solve this problem by opening System Preference ->Security & Privacy -> General and clicking on Allow Anyway.

Pull the latest image from the docker registry, or specify a version as tag:

  1. docker pull oamdev/vela-cli:latest

2. Upgrade Vela Core

Please make sure you already upgraded the Vela CLI to latest stable version.

  1. vela install --version=v1.4.9

3. Upgrade VelaUX

  1. vela addon enable velaux --version v1.4.7

If you set custom parameters during installation, be sure to include the corresponding parameters.

Uninstall

Before uninstalling kubevela, you must delete all applications and disable all addons.

  1. Uninstall VelaUX
  1. vela addon disable velaux
  1. Uninstall KubeVela Core
  1. vela uninstall
  1. Uninstall CRD

Before deleting, you must delete all CR resources.

  1. kubectl get crd |grep oam | awk '{print $1}' | xargs kubectl delete crd

Install KubeVela with cert-manager

By default, KubeVela will use a self-signed certificate provided by kube-webhook-certgen for admissionWebhooks. You can also use cert-manager if it’s available. Note that you need to install cert-manager before the KubeVela chart.

  1. helm repo add jetstack https://charts.jetstack.io
  2. helm repo update
  3. helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.2.0 --create-namespace --set installCRDs=true

Install kubevela with enabled certmanager:

  1. vela install --set admissionWebhooks.certManager.enabled=true

Install Pre-release

  1. # List all releases
  2. vela version list -a
  3. # Install the specified version.
  4. vela install --version 1.3.0-beta.2

Install Kubectl Vela Plugin

kubectl-vela provides the same features with vela CLI, it helps you to integrate with kubectl better.

  • Krew
  • Script
  1. Install and set up Krew on your machine.
  2. Discover plugins available on Krew:
  1. kubectl krew update
  1. install kubectl vela:
  1. kubectl krew install vela

macOS/Linux

  1. curl -fsSl https://kubevela.io/script/install-kubectl-vela.sh | bash

You can also download the binary from release pages ( >= v1.0.3) manually. Kubectl will discover it from your system path automatically.