Installation

Requirements:

  • Kubernetes cluster >= v1.18 && < v1.22
  • Kubectl && .

KubeVela relies on Kubernetes as a control plane. The control plane could be any managed Kubernetes offering or your cluster.

For local deployment and test, you could use or minikube.

For production usage, you could use your Kubernetes cluster or Kubernetes services provided by cloud providers.

  • Kind
  • Minikube
  • RKE
  • Cloud Provider

Minikube is NOT RECOMMENDED for production.

Follow the minikube installation guide.

Then spins up a minikube cluster

Install ingress to enable service route

  1. minikube addons enable ingress

This section guides to install a RKE Kubernetes cluster, you can refer to their installation guides for .

(1) Docker

The RKE depends on docker, Please install Docker on all servers or virtual machines, if not installed follow the docker installation guide.

Download RKE binary from .

If your internet access was limited, try using the binary cached by KubeVela team:

  1. wget https://static.kubevela.net/binary/rke/rke_linux-amd64 -O /usr/bin/rke
  2. chmod +x /usr/bin/rke

(3)Install RKE cluster

Please switch to a non-root user who has permission to operate docker and execute the following commands.

  1. mkdir ~/rkeinit && cd ~/rkeinit
  2. # Wizard-style configuration
  3. rke config
  4. # Kubernetes Cluster Installation
  5. rke up
  6. # Install kubectl Command
  7. mkdir ~/.kube
  8. cp kube_config_cluster.yml ~/.kube/config
  9. docker cp kubelet:/usr/local/bin/kubectl /usr/local/bin/kubectl

Kind is NOT RECOMMENDED for production.

Follow this guide to install kind.

Then spins up a kind cluster:

  1. cat <<EOF | kind create cluster --image=kindest/node:v1.18.15 --config=-
  2. kind: Cluster
  3. apiVersion: kind.x-k8s.io/v1alpha4
  4. nodes:
  5. - role: control-plane
  6. kubeadmConfigPatches:
  7. - |
  8. kind: InitConfiguration
  9. kubeletExtraArgs:
  10. node-labels: "ingress-ready=true"
  11. extraPortMappings:
  12. - containerPort: 80
  13. hostPort: 80
  14. protocol: TCP
  15. - containerPort: 443
  16. hostPort: 443
  17. protocol: TCP
  18. EOF

Install ingress controller to enable service route

  1. kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml

Please make sure one of the is available.

Before installation, please make sure that Helm is available. If not installed, please head to Helm Installation first.

  1. Add and update KubeVela Helm chart repo
  1. helm repo add kubevela https://charts.kubevela.net/core
  2. helm repo update
  1. Install KubeVela Core
  1. Verify KubeVela Core installation
  1. helm test kubevela -n vela-system

check out the outcome

  1. Pod kubevela-application-test pending
  2. Pod kubevela-application-test pending
  3. Pod kubevela-application-test running
  4. Pod kubevela-application-test succeeded
  5. LAST DEPLOYED: Tue Apr 13 18:42:20 2021
  6. NAMESPACE: vela-system
  7. STATUS: deployed
  8. REVISION: 1
  9. TEST SUITE: kubevela-application-test
  10. Last Started: Fri Apr 16 20:49:10 2021
  11. Last Completed: Fri Apr 16 20:50:04 2021
  12. Phase: Succeeded
  13. TEST SUITE: first-vela-app
  14. Last Started: Fri Apr 16 20:49:10 2021
  15. Last Completed: Fri Apr 16 20:49:10 2021
  16. Phase: Succeeded
  17. NOTES:
  18. Welcome to use the KubeVela! Enjoy your shipping application journey!

VelaUX is a dashboard including UI+API services, it enables you to do everything around application delivery and management.

1. Install KubeVela CLI

  • Script
  • Homebrew
  • Download directly from releases

MacOS/Linux

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

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.

2. Install VelaUX via Addon

  1. vela addon enable velaux

expected output:

  1. Addon: velaux enabled Successfully.

By default, velaux didn’t have any exposed port, you can view it by:

  1. vela port-forward addon-velaux -n vela-system

Choose > Cluster: local | Namespace: vela-system | Component: velaux | Kind: Service for visit.

If you have loadbalaner or ingress, please refer to VelaUX addon docs for more advanced installation ways.

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. helm uninstall -n vela-system kubevela
  1. Uninstall CRD
    • After installed KubeVela, let’s begin to 。