4.3 开发验证与部署上线

Koupleless 基座、模块开发验证与部署上线

本文主要介绍动态合并部署模式,用于省资源与提高研发效率。如果你只是想节省资源,可以使用静态合并部署

这里也提供了视频教程,可点击此处查看

基座接入

可参考此处

模块接入

可参考此处

模块开发验证

可以有两种开发验证方式:

  1. 本地环境开发验证
  2. K8S 集群环境开发验证

本地环境开发验证

安装方法: 使用 golang 工具链

  1. golang 官网 下载对应的 golang 版本,版本需要在 1.21 以上。
  2. 执行 go install github.com/koupleless/arkctl@v0.2.1 命令,安装 arkctl 工具。

安装方法: 下载二进制

  1. 根据实际运行操作系统,下载 arkctl
  2. 将对应的二进制解压并放到合适的系统变量 PATH 下。
  3. 在基座和模块已经改造完成后,启动好基座后,可以使用 arkctl 快速完成构建与部署,将模块部署到基座中。

如何找到 PATH 的值?

Linux/Mac 下在终端执行

echo $PATH
# 选择一个目录,将 arkctl 放到该目录下

Windows 下

  1. 右键我的电脑。
  2. 点击属性。
  3. 点击高级系统设置。
  4. 点击环境变量。
  5. 双击 Path 变量。
  6. 在弹出的对话框中,可以看到当前的 Path 变量值。
  7. 找到对应的目录,将 arkctl.exe 放到该目录下。

注意,在 Windows 环境下,如果开启 Windows Defender,浏览器下载二进制时可能会误报,提示如下:


报错原因可参考[go 官方文档](https://go.dev/doc/faq#virus)。此报错可以忽略,放心下载。

使用

快速部署构建好的模块 jar 包。

arkctl deploy ${模块构建出的 jar 包路径}

构建当前目录下的 pom 项目,并将 target 目录下的 biz jar 包部署到基座中。

arkctl deploy 

查看基座目前部署的模块

arkctl status

有命令行交互地卸载模块

# 调用此命令后,会列出当前部署的模块,用户可以通过上下键选择要卸载的模块。
arkctl undeploy 

指定模块名称卸载模块

arkctl undeploy ${模块名称:模块版本}

K8S 集群环境开发验证, 以 minikube 集群为例

基座发布

  1. 基座构建成镜像,推送到镜像中心
  2. 基座部署到 k8s 集群中,创建基座的 service,暴露端口, 可参考这里
  3. 执行 minikube service base-web-single-host-service, 访问基座的服务

模块发布

  1. 部署模块到 k8s 集群中
arkctl deploy ${模块构建出的 jar 包路径} --pod ${namespace}/${podname}

模块部署上线

  1. 使用 helm 方式部署 ModuleController 到 k8s 集群
  2. 使用 ModuleController 提供的模块部署能力,发布模块到集群机器上,具备可灰度、可追溯、流量无损能力,详细可参见此处

更多实验请查看 samples 用例

点击此处