Version: v1.2
快速安装
如果是要升级现有的 KubeVela,请直接阅读 升级指南.
1. 准备控制平面的 Kubernetes 集群
确保:
- Kubernetes 集群版本 >= v1.18.0
若你已是 Kubernetes 用户,具有满足上述条件的集群,请直接进入 下一节 。若你没有满足要求的集群,可通过下述方式安装便捷安装。生产场景推荐使用云服务或 RKE 安装方式。
KubeVela 控制平面依赖 Kubernetes。它可以放置在任何托管 Kubernetes 作为底座的产品或自建 Kubernetes 集群中。
你可以使用 kind 或 minikube 在本地部署、测试 KubeVela。
当搭建生产环境时,请先准备生产用 Kubernetes 集群或使用云厂商提供的 Kubernetes 服务。
Minikube
仅适用于测试/试用场景。
安装 minikube 后,创建一个集群:
minikube start
安装 ingress 启用路由访问功能
minikube addons enable ingress
RKE
开始前请准备 1-N 台服务器或虚拟机,该安装模式可用于生产环境。
(1)安装 Docker (可选)
RKE 的安装依赖于 Docker, 请在所有服务器或虚拟机安装 Docker 服务,如未安装,请参考 Docker 安装指南.
(2)安装 RKE 命令行
下载 RKE 二进制文件, 前往 RKE Release 页面.
如果你的网络受限无法下载(特别是中国用户),可直接使用下述方式安装:
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
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
仅适用于测试/试用场景。
安装 Kind 命令行工具后,创建集群:
cat <<EOF | kind create cluster --image=kindest/node:v1.18.15 --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP
EOF
安装 ingress 启用路由访问功能
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)
wget https://static.kubevela.net/binary/helm/helm-v3.7.0-linux-amd64 -O /usr/bin/helm
chmod +x /usr/bin/helm
- 添加并更新 KubeVela Helm chart 仓库
helm repo add kubevela https://charts.kubevela.net/core
helm repo update
- 安装 KubeVela Core
helm install --create-namespace -n vela-system kubevela kubevela/vela-core --version 1.2.0 --wait
- 验证 KubeVela Core 安装是否成功
helm test kubevela -n vela-system
点击查看期望输出
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. 安装 VelaUX
VelaUX 是一个可视化操作界面,包括 UI+API 服务,它适用于大多数厂商开箱即用的获取应用交付和管理能力。
1. 安装 KubeVela CLI
KubeVela CLI 提供了便捷的应用终端管理能力,我们通过 CLI 来安装 VelaUX 扩展。
- Script
- Homebrew
- Download directly from releases
MacOS/Linux
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.2.0
Windows
仅支持安装正式发行版本。
powershell -Command "iwr -useb https://kubevela.io/script/install.ps1 | iex"
macOS/Linux
先更新下你的 brew,请注意 brew 途径仅支持安装正式发行版本。
brew update
紧接着安装 KubeVela CLI
brew install kubevela
- 通过发布日志下载最新的
vela
二进制文件。 - 解压二进制文件,并且在
$PATH
中配好环境变量,就搞定啦。
sudo mv ./vela /usr/local/bin/vela
安装提示: 如果你使用的是 Mac 系统,它会弹出 “vela” 无法打开的警告,因为来自开发者的包无法验证。
MacOS 对能够在系统中运行的软件,采取了更加严格的限制。你暂时可以通过打开 ‘System Preference’ -> ‘Security & Privacy’ -> General 并点击 ‘Allow Anyway’ 来解决这个问题。
2. 通过 Addon 安装 VelaUX
vela addon enable velaux serviceType=NodePort
# 获取映射的端口,通过该端口访问 VelaUX
kubectl get service velaux -n vela-system -o jsonpath="{.spec.ports[0].nodePort}"
国内环境可使用以下安装方式:
vela addon enable velaux serviceType=NodePort repo=acr.kubevela.net
serviceType
配置 velaux 服务的访问方式,如果你使用云服务集群,请配置为 serviceType=LoadBalancer
,启用完成后通过以下方式获取访问地址:
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):
vela addon enable velaux repo=acr.kubevela.net domain=example.doamin.com
对于生产环境,请考虑启用 MongoDB 作为 VelaUX 的数据存储,使用 MongoDB 作为数据库的配置方式参考如下:
vela addon enable velaux dbType=mongodb database=kubevela dbURL=mongodb://<Mongo-Host>:<Mongo-Port>
4. 卸载
如果你试用完成后需要卸载 KubeVela,可参考如下操作进行:
在卸载之前,请先将所有应用删除,所有 addon 禁用。
- 卸载 VelaUX
vela addon disable velaux
kubectl delete configmap --all -n kubevela
- 卸载 KubeVela Core
helm uninstall -n vela-system kubevela
- 卸载 KubeVela 安装的 CRD
删除前,需要确保所有对应的 CR 资源已删除。
kubectl get crd |grep oam | awk '{print $1}' | xargs kubectl delete crd
下一步
- 安装完毕 KubeVela,开始 交付第一个应用。