Skip to main content
Version: v1.0

Installation

For upgrading existing KubeVela, please read the upgrade guide.

1. Choose Control Plane Cluster

Requirements:

  • Kubernetes cluster >= v1.15.0
  • kubectl installed and configured

KubeVela relies on Kubernetes as control plane. The control plane could be any managed Kubernetes offering or your own cluster. The only requirement is please ensure ingress-nginx is installed and enabled.

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

Follow the minikube installation guide.

Then spins up a minikube cluster

minikube start

Install ingress:

minikube addons enable ingress

2. Install KubeVela

  1. Add helm chart repo for KubeVela

    helm repo add kubevela https://kubevelacharts.oss-accelerate.aliyuncs.com/core
  2. Update the chart repo

    helm repo update
  3. Install KubeVela

    helm install --create-namespace -n vela-system kubevela kubevela/vela-core

    By default, it will enable the webhook with a self-signed certificate provided by kube-webhook-certgen. You can also install it with cert-manager.

  4. Verify chart installed successfully

    helm test kubevela -n vela-system
    Click to see the expected output of helm test
    Pod kubevela-application-test pending
    Pod kubevela-application-test pending
    Pod kubevela-application-test running
    Pod kubevela-application-test succeeded
    NAME: kubevela
    LAST DEPLOYED: Tue Apr 13 18:42:20 2021
    NAMESPACE: vela-system
    STATUS: deployed
    REVISION: 1
    TEST SUITE: kubevela-application-test
    Last Started: Fri Apr 16 20:49:10 2021
    Last Completed: Fri Apr 16 20:50:04 2021
    Phase: Succeeded
    TEST SUITE: first-vela-app
    Last Started: Fri Apr 16 20:49:10 2021
    Last Completed: Fri Apr 16 20:49:10 2021
    Phase: Succeeded
    NOTES:
    Welcome to use the KubeVela! Enjoy your shipping application journey!

3. Get KubeVela CLI

KubeVela CLI gives you a simplified workflow to manage applications with optimized output. It is not mandatory though.

KubeVela CLI could be installed as kubectl plugin, or install as standalone binary.

macOS/Linux

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

Windows

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

4. Enable Helm Support

KubeVela leverages Helm controller from Flux v2 to deploy Helm based components.

You can enable this feature by installing a minimal Flux v2 chart as below:

helm install --create-namespace -n flux-system helm-flux http://oam.dev/catalog/helm-flux2-0.1.0.tgz

Or you could install full Flux v2 following its own guide of course.

5. Verify

Checking available application components and traits by vela CLI tool:

vela components
NAME        NAMESPACE   WORKLOAD            DESCRIPTION
task vela-system jobs.batch Describes jobs that run code or a script to completion.
webservice vela-system deployments.apps Describes long-running, scalable, containerized services
that have a stable network endpoint to receive external
network traffic from customers.
worker vela-system deployments.apps Describes long-running, scalable, containerized services
that running at backend. They do NOT have network endpoint
to receive external network traffic.

These capabilities are built-in so they are ready to use if showed up. KubeVela is designed to be programmable and fully self-service, so the assumption is more capabilities will be added later per your own needs.

Also, whenever new capabilities are added in the platform, you will immediately see them in above output.

See the advanced installation guide to learn more about installation details.