版本:v1.3

快速安装

如果是要升级现有的 KubeVela,请直接阅读 升级指南。 如果需要离线安装,请参考 KubeVela 离线部署手册

确保:

  • Kubernetes 集群版本 >= v1.19 && <= v1.22

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

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

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

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

  • Kind
  • Minikube
  • K3s
  • RKE
  • 云服务

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

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

  1. minikube start

安装 ingress 启用路由访问功能:

  1. minikube addons enable ingress

k3s 适合以下场景 Edge、IoT、Development。你可以使用 k3s 作为 KubeVela 管控平面的的轻量级底座。

  1. 安装 K3s

K3s 只支持安装在具有 systemd 或者 openrc 服务的操作系统中。

你可以参考 K3s 快速开始文档 获取更多支持。

  1. curl -sfL https://get.k3s.io | sh -
  1. 复制 kubeconfig 文件到默认目录下。如果你需要在本地操作后续安装,请将其复制到本地。
  1. make ~/.kube
  2. cp /etc/rancher/k3s/k3s.yaml ~/.kube/config

开始前请准备 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 命令行工具后,创建集群:

  1. cat <<EOF | kind create cluster --image=kindest/node:v1.20.7 --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 以保证路由访问功能可正常使用。

KubeVela CLI 提供了命令行工具来便捷的应用终端管理能力。

  • Script
  • Homebrew
  • Download directly from releases

MacOS/Linux

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

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’ 来解决这个问题。

  • Default
  • Helm

Vela CLI 版本需要 >=1.2.3

  1. vela install --version v1.3.6

成功安装后预期输出如下:

  1. ...
  2. Watching for changes to Job kubevela-vela-core-cluster-gateway-tls-secret-patch with timeout of 18m0s
  3. Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: ADDED
  4. kubevela-vela-core-cluster-gateway-tls-secret-patch: Jobs active: 0, jobs failed: 0, jobs succeeded: 0
  5. Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: MODIFIED
  6. kubevela-vela-core-cluster-gateway-tls-secret-patch: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
  7. Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: MODIFIED
  8. kubevela-vela-core-cluster-gateway-tls-secret-patch: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
  9. Add/Modify event for kubevela-vela-core-cluster-gateway-tls-secret-patch: MODIFIED
  10. Starting delete for "kubevela-vela-core-admission" ServiceAccount
  11. Starting delete for "kubevela-vela-core-admission" ClusterRole
  12. Starting delete for "kubevela-vela-core-admission" ClusterRoleBinding
  13. Starting delete for "kubevela-vela-core-admission" Role
  14. Starting delete for "kubevela-vela-core-admission" RoleBinding
  15. Starting delete for "kubevela-vela-core-admission-patch" Job
  16. Starting delete for "kubevela-vela-core-cluster-gateway-admission" ServiceAccount
  17. Starting delete for "kubevela-vela-core-cluster-gateway-admission" Role
  18. Starting delete for "kubevela-vela-core-cluster-gateway-admission" RoleBinding
  19. Starting delete for "kubevela-vela-core-cluster-gateway-tls-secret-patch" Job
  20. KubeVela control plane has been successfully set up on your cluster.
  21. If you want to enable dashboard, please run "vela addon enable velaux"

如果你是 Helm 用户,你同样可以使用 Helm 安装 KubeVela Core:

helm 版本 >= 3.2.0

  1. helm repo add kubevela https://charts.kubevela.net/core
  2. helm repo update
  3. helm install --create-namespace -n vela-system kubevela kubevela/vela-core --version 1.3.6 --wait

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

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

VelaUX 有鉴权机制,默认账号为 admin,通过以下方式获取密码

  1. vela logs -n vela-system --name apiserver addon-velaux | grep "initialized admin username"

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

  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>

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

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

  1. 卸载 VelaUX
  1. vela addon disable velaux
  1. 卸载 KubeVela Core
  1. vela uninstall
  1. 卸载 KubeVela 安装的 CRD

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

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

Last updated on 2022年11月1日 by Tianxin Dong