--- 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)。