Version: v1.2

快速安装

如果是要升级现有的 KubeVela,请直接阅读 升级指南.

1. 准备控制平面的 Kubernetes 集群

确保:

  • Kubernetes 集群版本 >= v1.18.0

若你已是 Kubernetes 用户,具有满足上述条件的集群,请直接进入 下一节 。若你没有满足要求的集群,可通过下述方式安装便捷安装。生产场景推荐使用云服务或 RKE 安装方式。

KubeVela 控制平面依赖 Kubernetes。它可以放置在任何托管 Kubernetes 作为底座的产品或自建 Kubernetes 集群中。

你可以使用 kind 或 minikube 在本地部署、测试 KubeVela。

当搭建生产环境时,请先准备生产用 Kubernetes 集群或使用云厂商提供的 Kubernetes 服务。

Minikube

仅适用于测试/试用场景。

安装 minikube 后,创建一个集群:

  1. minikube start

安装 ingress 启用路由访问功能

  1. minikube addons enable ingress

RKE

开始前请准备 1-N 台服务器或虚拟机,该安装模式可用于生产环境。

(1)安装 Docker (可选)

RKE 的安装依赖于 Docker, 请在所有服务器或虚拟机安装 Docker 服务,如未安装,请参考 Docker 安装指南.

(2)安装 RKE 命令行

下载 RKE 二进制文件, 前往 RKE Release 页面.

如果你的网络受限无法下载(特别是中国用户),可直接使用下述方式安装:

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

(3)安装 RKE 集群

请切换到非 root 且有权限操作 docker 的用户下执行以下命令安装 RKE 集群,例如: docker

  1. mkdir ~/rkeinit && cd ~/rkeinit
  2. # 引导式配置,可参考 [RKE集群配置说明文档](https://rancher.com/docs/rke/latest/en/example-yamls/)。
  3. rke config
  4. # 确认配置完成后即可安装集群,如有异常请参考 RKE 相关文档。
  5. rke up
  6. # 安装 Kubectl 命令行工具
  7. mkdir ~/.kube
  8. cp kube_config_cluster.yml ~/.kube/config
  9. docker cp kubelet:/usr/local/bin/kubectl /usr/local/bin/kubectl

Kind

仅适用于测试/试用场景。

安装 Kind 命令行工具后,创建集群:

  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. nodeRegistration:
  10. kubeletExtraArgs:
  11. node-labels: "ingress-ready=true"
  12. extraPortMappings:
  13. - containerPort: 80
  14. hostPort: 80
  15. protocol: TCP
  16. - containerPort: 443
  17. hostPort: 443
  18. protocol: TCP
  19. EOF

安装 ingress 启用路由访问功能

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

云服务

可用于生产环境。

注意: 请确保云厂商的集群已安装或启用 ingress-nginx 以保证路由访问功能可正常使用。

2. 安装 KubeVela Core

在安装之前,请确保 Helm 工具是可用的,如未安装,请参考 Helm 安装说明 安装完成。

如果你的网络情况很难下载成功 Helm,请点击使用国内镜像来安装(仅适用于 linux-amd64)

  1. wget https://static.kubevela.net/binary/helm/helm-v3.7.0-linux-amd64 -O /usr/bin/helm
  2. chmod +x /usr/bin/helm
  1. 添加并更新 KubeVela Helm chart 仓库
  1. helm repo add kubevela https://charts.kubevela.net/core
  2. helm repo update
  1. 安装 KubeVela Core
  1. helm install --create-namespace -n vela-system kubevela kubevela/vela-core --version 1.2.0 --wait
  1. 验证 KubeVela Core 安装是否成功
  1. helm test kubevela -n vela-system

点击查看期望输出

  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. NAME: kubevela
  6. LAST DEPLOYED: Tue Apr 13 18:42:20 2021
  7. NAMESPACE: vela-system
  8. STATUS: deployed
  9. REVISION: 1
  10. TEST SUITE: kubevela-application-test
  11. Last Started: Fri Apr 16 20:49:10 2021
  12. Last Completed: Fri Apr 16 20:50:04 2021
  13. Phase: Succeeded
  14. TEST SUITE: first-vela-app
  15. Last Started: Fri Apr 16 20:49:10 2021
  16. Last Completed: Fri Apr 16 20:49:10 2021
  17. Phase: Succeeded
  18. NOTES:
  19. Welcome to use the KubeVela! Enjoy your shipping application journey!

3. 安装 VelaUX

VelaUX 是一个可视化操作界面,包括 UI+API 服务,它适用于大多数厂商开箱即用的获取应用交付和管理能力。

1. 安装 KubeVela CLI

KubeVela CLI 提供了便捷的应用终端管理能力,我们通过 CLI 来安装 VelaUX 扩展。

  • Script
  • Homebrew
  • Download directly from releases

MacOS/Linux

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

Windows

仅支持安装正式发行版本。

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

macOS/Linux

先更新下你的 brew,请注意 brew 途径仅支持安装正式发行版本。

  1. brew update

紧接着安装 KubeVela CLI

  1. brew install kubevela
  • 通过发布日志下载最新的 vela 二进制文件。
  • 解压二进制文件,并且在 $PATH 中配好环境变量,就搞定啦。
  1. sudo mv ./vela /usr/local/bin/vela

安装提示: 如果你使用的是 Mac 系统,它会弹出 “vela” 无法打开的警告,因为来自开发者的包无法验证。

MacOS 对能够在系统中运行的软件,采取了更加严格的限制。你暂时可以通过打开 ‘System Preference’ -> ‘Security & Privacy’ -> General 并点击 ‘Allow Anyway’ 来解决这个问题。

2. 通过 Addon 安装 VelaUX

  1. vela addon enable velaux serviceType=NodePort
  2. # 获取映射的端口,通过该端口访问 VelaUX
  3. kubectl get service velaux -n vela-system -o jsonpath="{.spec.ports[0].nodePort}"

国内环境可使用以下安装方式:

  1. vela addon enable velaux serviceType=NodePort repo=acr.kubevela.net

serviceType 配置 velaux 服务的访问方式,如果你使用云服务集群,请配置为 serviceType=LoadBalancer,启用完成后通过以下方式获取访问地址:

  1. vela addon enable velaux serviceType=LoadBalancer repo=acr.kubevela.net
  2. kubectl get service velaux -n vela-system -o jsonpath="{.status.loadBalancer.ingress[0].ip}"

如果你的集群中已经安装了 Nginx Ingress Controller,而且你具有可用的域名,你可以这样部署 VelaUX(请使用真实域名替换 example.doamin.com):

  1. vela addon enable velaux repo=acr.kubevela.net domain=example.doamin.com

对于生产环境,请考虑启用 MongoDB 作为 VelaUX 的数据存储,使用 MongoDB 作为数据库的配置方式参考如下:

  1. vela addon enable velaux dbType=mongodb database=kubevela dbURL=mongodb://<Mongo-Host>:<Mongo-Port>

4. 卸载

如果你试用完成后需要卸载 KubeVela,可参考如下操作进行:

在卸载之前,请先将所有应用删除,所有 addon 禁用。

  1. 卸载 VelaUX
  1. vela addon disable velaux
  2. kubectl delete configmap --all -n kubevela
  1. 卸载 KubeVela Core
  1. helm uninstall -n vela-system kubevela
  1. 卸载 KubeVela 安装的 CRD

删除前,需要确保所有对应的 CR 资源已删除。

  1. kubectl get crd |grep oam | awk '{print $1}' | xargs kubectl delete crd

下一步