---
title: Install KubeVela on Kubernetes
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

### 1. Kubernetes Requirements:

- Kubernetes cluster >= v1.19 && <= v1.24

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

- Alibaba Cloud [ACK Service](https://www.aliyun.com/product/kubernetes)
- AWS [EKS Service](https://aws.amazon.com/cn/eks)
- Azure [AKS Service](https://azure.microsoft.com/en-us/services/kubernetes-service)
- Google [GKE Service](https://cloud.google.com/kubernetes-engine)
- Rancher [K3s](https://rancher.com/docs/k3s/latest/en/quick-start/) or [RKE](https://github.com/rancher/rke/releases)

### 2. Install KubeVela CLI {#install-vela-cli}

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

<Tabs
    className="unique-tabs"
    defaultValue="script"
    values={[
      {label: 'Script', value: 'script'},
      {label: 'Homebrew', value: 'homebrew'},
      {label: 'Download directly from releases', value: 'download'},
      {label: 'Docker', value: 'docker'},
    ]}>
<TabItem value="script">

** MacOS/Linux **

```shell script
curl -fsSl https://kubevela.net/script/install.sh | bash
```

**Windows**

:::note
Only the official release version is supported.
:::

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

</TabItem>
<TabItem value="homebrew">

**macOS/Linux**

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

```shell script
brew update
```

Then install KubeVela CLI

```shell script
brew install kubevela
```

</TabItem>
<TabItem value="download">

- Download the latest `vela` binary file via [release log](https://github.com/kubevela/kubevela/releases).
- Unzip the binary file, and configure the environment variables in `$PATH`, and you're done.

```shell script
sudo mv ./vela /usr/local/bin/vela
```

:::note
- [Installation Tips](https://github.com/kubevela/kubevela/issues/625):
- 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`.
:::
</TabItem>
<TabItem value="docker">

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

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

Refer to [using Vela CLI docker image](../platform-engineers/system-operation/vela-cli-image) for more usage.

</TabItem>
</Tabs>

### 3. Install KubeVela Core

<Tabs
    className="unique-tabs"
    defaultValue="vela"
    values={[
      {label: 'Default', value: 'vela'},
      {label: 'Helm', value: 'helm'},
    ]}>
<TabItem value="vela">

```shell script
$ vela install
```
<details>
  <summary> check out the outcome </summary>

  ```shell
  ...
  Watching for changes to Job kubevela-vela-core-cluster-gateway-tls-secret-patch with timeout of 18m0s
  Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: ADDED
  kubevela-vela-core-cluster-gateway-tls-secret-patch: Jobs active: 0, jobs failed: 0, jobs succeeded: 0
  Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: MODIFIED
  kubevela-vela-core-cluster-gateway-tls-secret-patch: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
  Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: MODIFIED
  kubevela-vela-core-cluster-gateway-tls-secret-patch: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
  Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: MODIFIED
  Starting delete for "kubevela-vela-core-admission" ServiceAccount
  Starting delete for "kubevela-vela-core-admission" ClusterRole
  Starting delete for "kubevela-vela-core-admission" ClusterRoleBinding
  Starting delete for "kubevela-vela-core-admission" Role
  Starting delete for "kubevela-vela-core-admission" RoleBinding
  Starting delete for "kubevela-vela-core-admission-patch" Job
  Starting delete for "kubevela-vela-core-cluster-gateway-admission" ServiceAccount
  Starting delete for "kubevela-vela-core-cluster-gateway-admission" Role
  Starting delete for "kubevela-vela-core-cluster-gateway-admission" RoleBinding
  Starting delete for "kubevela-vela-core-cluster-gateway-tls-secret-patch" Job

  KubeVela control plane has been successfully set up on your cluster.
  If you want to enable dashboard, please run "vela addon enable velaux"
  ```

  </details>

</TabItem>
<TabItem value="helm">

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

:::note
helm v3.2.0+ required
:::

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

</TabItem>
</Tabs>

### 4. Install VelaUX

VelaUX is a dashboard for KubeVela. It is a web application that runs in your cluster. You can access it with your browser.
This is optional if you don't use UI console of KubeVela.

Please refer to [VelaUX Guide](../reference/addons/velaux).

### 5. Custom Installation or Upgrade

Please refer [advanced installation](../platform-engineers/advanced-install)
