使用 Zadig 交付云原生微服务应用

微服务示例

我们这里使用到开源项目是 https://github.com/GoogleCloudPlatform/microservices-demo,该开源项目名叫 Online Boutique(https://onlineboutique.dev/),是一个云原生微服务演示应用程序,其中包含 11 个微服务,该应用程序是一个基于 Web 的电子商务应用程序,用户可以在其中浏览商品、将它们添加到购物车并购买它们。

基于该项目针对 Zadig 做了优化修改,项目地址: https://github.com/cnych/microservices-demo

该项目由 11 个使用不同语言编写的微服务组成,它们通过 gRPC 相互通信。架构如下所示。

微服务架构

每个服务的功能描述如下表所示。

服务功能

Zadig 项目

接下来我们来使用 Zadig 来交付该微服务项目,使用方式和前面基本类似。

首先新建一个名为 microservices-demo 的项目,项目类型为 K8s YAML 项目。

新建项目

点击立即新建按钮,然后进入项目初始化页面。

项目初始化

点击下一步进入到服务配置页面,我们知道服务模板可以通过手动创建、代码仓库中同步或者现有 K8s 资源中导入而来。我们这里服务模板在代码仓库中,所以选择从代码库中进行同步,选择对应的代码仓库、分支和对应的资源清单目录,然后点击同步按钮即可将对应的服务同步到 Zadig 中来。

同步服务

可以看到我们这里同步过来后包含了 12 个服务,每个服务的模板也都直接展示出来了,但是由于是通过仓库同步的,模板是只读模式,右侧会自动读取到服务对应的镜像信息。

注意:Zadig 读取资源清单后, 会以 K8s YAML 中的容器名作为唯一的 key 进行去重 ,所以在编写 K8s YAML 的时候不要让容器名重复,否则导入后会丢失服务。

服务模板

点击右侧读取到的镜像服务组件后面的添加构建按钮,前往配置该服务的镜像是如何进行构建的。

首先需要添加服务代码源信息,我们这里的代码在 GitLab 上面,所以添加对应的代码仓库以及分支信息。我们这里的所有服务代码都位于代码仓库根目录下面的 src 目录下。

代码结构

这属于典型的 Monorepo 类型的仓库(单体),而里面的每个服务我们也并未配置成 submodule,所以每个服务构建的时候均要将整个代码仓库 Clone 下来,但其实我们只

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值