这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

2. 快速开始

Koupleless 快速开始

1 - 2.1 模块开发

Koupleless 快速开始

本上手指南主要介绍动态合并部署模式,用于省资源与提高研发效率。如果你只是想节省资源,可以使用静态合并部署。本上手指南使用官网的 tomacat sample 进行演示: 1.

预先准备

研发工具

  • jdk 8
  • maven v3.9.0+
  • git
  • arkctl v0.2.1+, 安装方式请查看这里

代码下载

git clone git@github.com:koupleless/samples.git

这个仓库包含了多个框架的 samples,基座和模块都在同一个代码仓库里,如图所示

导入 springboot-samples 工程到编译器

  1. 导入 springboot-samples,有两种方式导入工程到编译器
  • 方式一:导入 samples 到编译器,然后选择 springboot-samples 子目录的 pom 为 maven 工程
  • 方式二:直接导入 springboot-samples 到编译器,此时自动将 springboot-samples 导入为 maven 工程
  1. 执行如下命令构建 springboot-samples/web/tomcat 基座与两个模块
mvn -pl web/tomcat/biz1-web-single-host,web/tomcat/biz2-web-single-host -am clean package -DskipTests

构建完之后可以看到模块打出的模块 jar 包

本地环境启动验证

  1. 启动基座,按照普通应用启动即可
  2. 安装模块1
arkctl deploy /xxx/path/to/biz1-web-single-host/target/biz1-web-single-host-0.0.1-SNAPSHOT.jar
  1. 安装模块2
arkctl deploy /xxx/path/to/biz2-web-single-host/target/biz2-web-single-host-0.0.1-SNAPSHOT.jar
  1. 测试验证
curl http://localhost:8080/biz1/

执行 curl 命令返回 hello to /biz1 deploy

curl http://localhost:8080/biz2/

执行 curl 命令返回 hello to /biz2 deploy

更多实验请查看 samples 用例

点击此处

2 - 2.2 模块运维

Koupleless 快速开始

待9月初发布

3 - 2.3 模块完整生命周期过程

Koupleless 快速开始

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

  1. 基座接入
  2. 模块接入
  3. 模块开发验证
  4. 模块部署上线(暂不可用,待更新)

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

预先准备

研发工具

  • jdk 8, jdk 17, jdk21+
  • maven v3.9.0+
  • arkctl v0.2.1+, 安装方式请查看这里

运维工具 (静态合并部署可不需要)

  • docker
  • kubectl
  • k8s 集群如 minikube v1.10+

基座接入

可参考此处

模块接入

可参考此处

本地环境开发验证

可查看这里

模块部署上线, 以 minikube 集群为例 (暂不可使用,待更新)

第一步:部署运维组件 ModuleController

kubectl apply -f xxx/xxx.yaml

第二步:使用样例基座发布

  1. 基座部署到 k8s 集群中,创建基座的 service,暴露端口, 可参考这里
  2. 执行 minikube service base-web-single-host-service, 访问基座的服务
微服务演进成本

第三步:发布模块

有两种方式发布模块,

  1. 直接部署本地模块 jar 包到 k8s 集群中
arkctl deploy ${模块构建出的 jar 包路径} --pod ${namespace}/${podname}
  1. 通过 k8s 模块 deployment 部署上线 创建模块 deployment,直接使用 kubectl apply 进行发布
kubectl apply -f xxx/xxxxx/xx.yaml

第四步:测试验证

更多实验请查看 samples 用例

点击此处