---
title: 快速安装
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
> 如果是要升级现有的 KubeVela,请直接阅读 [升级指南](./platform-engineers/advanced-install#升级)。
> 如果需要离线安装,请参考 [KubeVela 离线部署手册](./platform-engineers/system-operation/offline-installation)。
## 1. 准备控制平面的 Kubernetes 集群
确保:
- Kubernetes 集群版本 >= v1.19 && <= v1.22
> 若你已是 Kubernetes 用户,具有满足上述条件的集群,请直接进入 [下一节](#2-安装-kubevela-core) 。若你没有满足要求的集群,可通过下述方式安装便捷安装。生产场景推荐使用云服务或 RKE 安装方式。
KubeVela 控制平面依赖 Kubernetes。它可以放置在任何托管 Kubernetes 作为底座的产品或自建 Kubernetes 集群中。
你可以使用 kind 或 minikube 在本地部署、测试 KubeVela。
> 当搭建生产环境时,请先准备生产用 Kubernetes 集群或使用云厂商提供的 Kubernetes 服务。
> 仅适用于测试/试用场景。
[安装 minikube](https://minikube.sigs.k8s.io/docs/start/) 后,创建一个集群:
```shell script
minikube start
```
安装 ingress 启用路由访问功能:
```shell script
minikube addons enable ingress
```
> k3s 适合以下场景 Edge、IoT、Development。你可以使用 k3s 作为 KubeVela 管控平面的的轻量级底座。
1. 安装 K3s
> K3s 只支持安装在具有 systemd 或者 openrc 服务的操作系统中。
你可以参考 [K3s 快速开始文档](https://rancher.com/docs/k3s/latest/en/quick-start/) 获取更多支持。
```shell
curl -sfL https://get.k3s.io | sh -
```
2. 复制 kubeconfig 文件到默认目录下。如果你需要在本地操作后续安装,请将其复制到本地。
```shell
make ~/.kube
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
```
> 开始前请准备 1-N 台服务器或虚拟机,该安装模式可用于生产环境。
(1)安装 Docker (可选)
RKE 的安装依赖于 Docker, 请在所有服务器或虚拟机安装 Docker 服务,如未安装,请参考 [Docker 安装指南](https://docs.docker.com/engine/install/).
(2)安装 RKE 命令行
下载 RKE 二进制文件, [前往 RKE Release 页面](https://github.com/rancher/rke/releases).
如果你的网络受限无法下载(特别是中国用户),可直接使用下述方式安装:
```
wget https://static.kubevela.net/binary/rke/rke_linux-amd64 -O /usr/bin/rke
chmod +x /usr/bin/rke
```
(3)安装 RKE 集群
> 请切换到非 root 且有权限操作 docker 的用户下执行以下命令安装 RKE 集群,例如: docker
```shell script
mkdir ~/rkeinit && cd ~/rkeinit
# 引导式配置,可参考 [RKE集群配置说明文档](https://rancher.com/docs/rke/latest/en/example-yamls/)。
rke config
# 确认配置完成后即可安装集群,如有异常请参考 RKE 相关文档。
rke up
# 安装 Kubectl 命令行工具
mkdir ~/.kube
cp kube_config_cluster.yml ~/.kube/config
docker cp kubelet:/usr/local/bin/kubectl /usr/local/bin/kubectl
```
> 仅适用于测试/试用场景。
安装 [Kind 命令行工具](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)后,创建集群:
```shell script
cat <
> 可用于生产环境。
- 阿里云 [ACK 服务](https://www.aliyun.com/product/kubernetes)
- AWS [EKS 服务](https://aws.amazon.com/cn/eks)
- Azure [AKS 服务](https://azure.microsoft.com/en-us/services/kubernetes-service)
- Google [GKE 服务](https://cloud.google.com/kubernetes-engine)
> 注意: 请确保云厂商的集群[已安装或启用 ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/) 以保证路由访问功能可正常使用。
## 2. 安装 KubeVela CLI
KubeVela CLI 提供了命令行工具来便捷的应用终端管理能力。
** MacOS/Linux **
```shell script
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.3.3
```
**Windows**
> 仅支持安装正式发行版本。
```shell script
powershell -Command "iwr -useb https://kubevela.io/script/install.ps1 | iex"
```
**macOS/Linux**
先更新下你的 brew,请注意 brew 途径仅支持安装正式发行版本。
```shell script
brew update
```
紧接着安装 KubeVela CLI
```shell script
brew install kubevela
```
- 通过[发布日志](https://github.com/kubevela/kubevela/releases)下载最新的 `vela` 二进制文件。
- 解压二进制文件,并且在 `$PATH` 中配好环境变量,就搞定啦。
```shell script
sudo mv ./vela /usr/local/bin/vela
```
> [安装提示](https://github.com/kubevela/kubevela/issues/625):
> 如果你使用的是 Mac 系统,它会弹出 “vela” 无法打开的警告,因为来自开发者的包无法验证。
>
> MacOS 对能够在系统中运行的软件,采取了更加严格的限制。你暂时可以通过打开 'System Preference' -> 'Security & Privacy' -> General 并点击 'Allow Anyway' 来解决这个问题。
## 3. 安装 KubeVela Core
> Vela CLI 版本需要 >=1.2.3
```shell script
vela install
```
成功安装后预期输出如下:
```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"
```
如果你是 Helm 用户,你同样可以使用 Helm 安装 KubeVela Core:
> helm 版本 >= 3.2.0
```
helm repo add kubevela https://charts.kubevela.net/core
helm repo update
helm install --create-namespace -n vela-system kubevela kubevela/vela-core --version 1.3.3 --wait
```
## 4. 安装 VelaUX
VelaUX 是一个可视化操作界面,包括 UI+API 服务,它适用于大多数厂商开箱即用的获取应用交付和管理能力。
```shell script
vela addon enable velaux serviceType=NodePort --version v1.3.3
# 获取映射的端口,通过该端口访问 VelaUX
kubectl get service velaux -n vela-system -o jsonpath="{.spec.ports[0].nodePort}"
```
VelaUX 有鉴权机制,默认账号为 admin,通过以下方式获取密码
```shell
vela logs -n vela-system --name apiserver addon-velaux | grep "initialized admin username"
```
国内环境可使用以下安装方式:
```
vela addon enable velaux serviceType=NodePort repo=acr.kubevela.net
```
`serviceType` 配置 velaux 服务的访问方式,如果你使用云服务集群,请配置为 `serviceType=LoadBalancer`,启用完成后通过以下方式获取访问地址:
```shell script
vela addon enable velaux serviceType=LoadBalancer repo=acr.kubevela.net
kubectl get service velaux -n vela-system -o jsonpath="{.status.loadBalancer.ingress[0].ip}"
```
如果你的集群中已经安装了 Nginx Ingress Controller,而且你具有可用的域名,你可以这样部署 VelaUX(请使用真实域名替换 example.doamin.com):
```shell script
vela addon enable velaux repo=acr.kubevela.net domain=example.doamin.com
```
对于生产环境,请考虑启用 MongoDB 作为 VelaUX 的数据存储,使用 MongoDB 作为数据库的配置方式参考如下:
```shell script
vela addon enable velaux dbType=mongodb database=kubevela dbURL=mongodb://:
```
## 5. 卸载
如果你试用完成后需要卸载 KubeVela,可参考如下操作进行:
在卸载之前,请先将所有应用删除,所有 addon 禁用。
1. 卸载 VelaUX
```
vela addon disable velaux
```
2. 卸载 KubeVela Core
```
vela uninstall
```
3. 卸载 KubeVela 安装的 CRD
删除前,需要确保所有对应的 CR 资源已删除。
```
kubectl get crd |grep oam | awk '{print $1}' | xargs kubectl delete crd
```
## 下一步
- 安装完毕 KubeVela,开始 [交付第一个应用](./quick-start)。