招商银行 KubeVela 离线部署实践
KubeVela 离线部署方案
Aliware
>= v1.19 && < v1.22
,KubeVela 控制平面依赖 Kubernetes,可以放置在任何托管 Kubernetes 作为底座的产品或自建 Kubernetes 集群中。同时你也可以使用 kind 或 minikube 在本地部署、测试 KubeVela。
Vela Cli 离线部署
Aliware
-
首先,需要通过 KubeVela 的发布日志 [ 1] 下载你所需版本的 vela二进制文件 -
解压二进制文件,并且在 $PATH中配置相应的环境变量
-
解压二进制文件 -
tar -zxvf vela-v1.2.5-linux-amd64.tar.gz -
mv ./linux-amd64/vela /usr/local/bin/vela -
设置环境变量 -
vi /etc/profile -
export PATH="$PATH:/usr/local/bin" -
source /etc/profile -
通过 vela version验证 Vela Cli 的安装,并检查输出
CLI Version: v1.2.5Core Version:GitRevision: git-ef80b66GolangVersion: go1.17.7
-
至此,Vela Cli 已经离线部署完成!
Vela Core 离线部署
Aliware
-
离线部署 Vela Core 之前,首先需要在离线环境中安装 Helm [2 ] , 并且 Helm 的版本需要满足 v3.2.0+ -
准备 docker 镜像, Vela Core 的部署主要涉及5个镜像,你需要首先访问互联网从 Docker Hub 下载相应镜像,之后再 load 到离线环境
-
从Docker Hub拉取镜像 -
docker pull oamdev/vela-core:v1.2.5 -
docker pull oamdev/cluster-gateway:v1.1.7 -
docker pull oamdev/kube-webhook-certgen:v2.3 -
docker pull oamdev/alpine-k8s:1.18.2 -
docker pull oamdev/hello-world:v1 -
将镜像保存到本地磁盘 -
docker save -o vela-core.tar oamdev/vela-core:v1.2.5 -
docker save -o cluster-gateway.tar oamdev/cluster-gateway:v1.1.7 -
docker save -o kube-webhook-certgen.tar oamdev/kube-webhook-certgen:v2.3 -
docker save -o alpine-k8s.tar oamdev/alpine-k8s:1.18.2 -
docker save -o hello-world.tar oamdev/hello-world:v1 -
在私有环境中重新加载镜像 -
docker load vela-core.tar -
docker load cluster-gateway.tar -
docker load kube-webhook-certgen.tar -
docker load alpine-k8s.tar -
docker load hello-world.tar
-
下载 KubeVela 源码 [3 ] ,拷贝到离线环境中,并使用 Helm 重新打包
-
将 KubeVela 源码重新打 chart 包,并离线安装 chart 包到控制集群 -
helm package kubevela/charts/vela-core --destination kubevela/charts -
helm install --create-namespace -n vela-system kubevela kubevela/charts/vela-core-0.1.0.tgz --wait -
检查输出
KubeVela control plane has been successfully set up on your cluster.
-
至此,Vela Core 已经离线部署完成!
Addon 离线部署
Aliware
-
首先下载 Catalog 源码 [4 ] 并拷贝到私有环境中 -
这里将以 VelaUX 为例介绍 Addon 的离线部署,首先准备 docker 镜像,VelaUX 主要涉及2个镜像,需要首先访问互联网从 Docker Hub 下载相应镜像,之后再 load 到离线环境
-
从 Docker Hub 拉取镜像 -
docker pull oamdev/vela-apiserver:v1.2.5 -
docker pull oamdev/velaux:v1.2.5 -
将镜像保存到本地磁盘 -
docker save -o vela-apiserver.tar oamdev/vela-apiserver:v1.2.5 -
docker save -o velaux.tar oamdev/velaux:v1.2.5 -
在私有环境中重新加载镜像 -
docker load vela-apiserver.tar -
docker load velaux.tar
-
安装 VelaUX
-
通过 Vela Cli 安装VelaUX -
vela addon enable catalog-master/addons/velaux -
检查输出
Addon: velaux enabled Successfully.
-
若有集群中安装了 route Controller 或 Nginx Ingress Controller,且有可用域名,你可以部署外部路由访问 VelaUX,这里以 openshift route 为例,也可以选择 ingress
apiVersion: route.openshift.io/v1kind: Routemetadata:name: velaux-routenamespace: vela-systemspec:host: velaux.xxx.xxx.cnport: targetPort: 80to: kind: Service name: velaux weight: 100wildcardPolicy: None
-
检查安装
curl -I -m 10 -o /dev/null -s -w %{http_code} http://velaux.xxx.xxx.cn/applications
-
至此,VelaUX 已经离线部署完成!同时,对于其他类型 Addon 的离线部署,只需要去 Catalog 源码的对应目录确定所需镜像,并重复以上操作即可完成相应 Addon 的离线部署
总结
Aliware
[5] velad:
https://github.com/oam-dev/velad
-
项目代码库: github.com/oam-dev/kubevela 欢迎 Star/Watch/Fork!
-
项目官方主页与文档:kubevela.io ,从 1.1 版本开始,已提供中文、英文文档,更多语言文档欢迎开发者进行翻译。
-
项目钉钉群:23310022;Slack:CNCF #kubevela Channel
-
加入微信群:请先添加以下 maintainer 微信号,表明进入 KubeVela 用户群:
点击“ 阅读原文 ”,查看 KubeVela 项目官网。