快速安装
如果是要升级现有的 KubeVela,请直接阅读 升级指南。 如果需要离线安装,请参考 KubeVela 离线部署手册。
1. 准备控制平面的 Kubernetes 集群
确保:
- Kubernetes 集群版本 >= v1.19 && <= v1.22
若你已是 Kubernetes 用户,具有满足上述条件的集群,请直接进入 下一节 。若你没有满足要求的集群,可通过下述方式安装便捷安装。生产场景推荐使用云服务或 RKE 安装方式。
KubeVela 控制平面依赖 Kubernetes。它可以放置在任何托管 Kubernetes 作为底座的产品或自建 Kubernetes 集群中。
你可以使用 kind 或 minikube 在本地部署、测试 KubeVela。
当搭建生产环境时,请先准备生产用 Kubernetes 集群或使用云厂商提供的 Kubernetes 服务。
- Kind
- Minikube
- K3s
- RKE
- 云服务
k3s 适合以下场景 Edge、IoT、Development。你可以使用 k3s 作为 KubeVela 管控平面的的轻量级底座。
- 安装 K3s
K3s 只支持安装在具有 systemd 或者 openrc 服务的操作系统中。
你可以参考 K3s 快速开始文档 获取更多支持。
curl -sfL https://get.k3s.io | sh -
- 复制 kubeconfig 文件到默认目录下。如果你需要在本地操作后续安装,请将其复制到本地。
make ~/.kube
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
(1)安装 Docker (可选)开始前请准备 1-N 台服务器或虚拟机,该安装模式可用于生产环境。
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
请切换到非 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 命令行工具后,创建集群:
cat <<EOF | kind create cluster --image=kindest/node:v1.20.7 --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 CLI
KubeVela CLI 提供了命令行工具来便捷的应用终端管理能力。
- Script
- Homebrew
- Download directly from releases
MacOS/Linux
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.3.6
Windows
仅支持安装正式发行版本。
powershell -Command "iwr -useb https://kubevela.io/script/install.ps1 | iex"
macOS/Linux
先更新下你的 brew,请注意 brew 途径仅支持安装正式发行版本。
brew update
紧接着安装 KubeVela CLI
brew install kubevela
3. 安装 KubeVela Core
- Default
- Helm
Vela CLI 版本需要 >=1.2.3
vela install --version v1.3.6
成功安装后预期输出如下:
...
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.6 --wait
4. 安装 VelaUX
VelaUX 是一个可视化操作界面,包括 UI+API 服务,它适用于大多数厂商开箱即用的获取应用交付和管理能力。
vela addon enable velaux serviceType=NodePort --version v1.3.6
# 获取映射的端口,通过该端口访问 VelaUX
kubectl get service velaux -n vela-system -o jsonpath="{.spec.ports[0].nodePort}"
VelaUX 有鉴权机制,默认账号为 admin,通过以下方式获取密码
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
,启用完成后通过以下方式获取访问地址:
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>
5. 卸载
如果你试用完成后需要卸载 KubeVela,可参考如下操作进行:
在卸载之前,请先将所有应用删除,所有 addon 禁用。
- 卸载 VelaUX
vela addon disable velaux
- 卸载 KubeVela Core
vela uninstall
- 卸载 KubeVela 安装的 CRD
删除前,需要确保所有对应的 CR 资源已删除。
kubectl get crd |grep oam | awk '{print $1}' | xargs kubectl delete crd
下一步
- 安装完毕 KubeVela,开始 交付第一个应用。