跳转至

基于 Git 仓构建微服务应用

应用工作台支持通过 Git 仓库、Jar 包、容器镜像、Helm 模板等四种方式构建应用。 本文介绍如何通过 Git 仓库源码构建传统微服务应用,从而对应用进行流量治理,查看日志、监控、链路追踪等功能。

前提条件

  • 需创建一个工作空间和一个用户,该用户需加入该工作空间并赋予  workspace edit  角色。 参考创建工作空间用户和角色
  • 创建可以访问代码仓库仓库、镜像仓库的两个凭证,参考凭证管理
  • 准备一个 Gitlab 仓库、Harbor 仓库。

创建凭证

参照凭证管理,先创建 2 个凭证:

  1. 凭证 页面创建两个凭证:

    • git-credential:用户名和密码,用于访问代码仓库
    • registry-credential:用户名和密码,用于访问镜像仓库
  2. 创建完成后,可以在 凭证列表 页面看到凭证信息。

基于 Git 创建微服务应用

  1. 应用工作台 -> 向导 页面中,点击 基于 Git 仓构建

    向导

  2. 参考以下说明填写基本信息,然后点击 下一步

    • 名称:填写资源负载的名称。
    • 资源类型:本演示选择无状态负载,目前仅支持无状态负载。
    • 部署位置:选择将应用部署到哪个集群下的哪个命名空间。如果要接入微服务,请确保当前工作空间下已经创建了注册中心
    • 所属应用:原生应用名称,支持从已有的原生应用列表中选择,也可以新建,默认与名称一致。
    • 实例数:填写实例的数量,Pod 的数量。

    基本信息

  3. 参考以下说明填写流水线配置,然后点击 下一步

    • 代码仓库:支持选择仓库与自定义,本示例中 Git 仓库地址为 https://gitlab.daocloud.cn/ndx/skoala.git,需要根据实际情况替换。其中选择仓库是从用户集成的 GitLab 实例中选择。
    • 分支:默认为 main ,此处为 main ,无需更改。
    • 凭证:选择访问代码仓库的凭证 git-credential ,如果为公开仓库,则无需填写。
    • Dockerfile 路径:,支持输入 Dockerfile 在代码仓库中的绝对路径,例如 demo/integration/springcloud-nacos-sentinel/code/Dockerfile
    • 目标镜像名称:支持选择与输入,本示例中地址为 release-ci.daocloud.io/test-lfj/fromgit ,需要根据实际情况替换。其中选择的镜像仓库是从镜像仓库模块中集成并绑定到当前工作空间的镜像仓库实例中选择。
    • Tag:输入镜像仓库版本,例如 v2.0.0
    • 凭证:选择访问镜像仓库的凭证,例如 registry-credential
    • ContextPath:ContextPath 为 docker build 命令执行上下文路径。填写相对于代码根目录的路径,如 target,如果不填则为 Dockerfile 文件所在目录。
    • 构建参数:构建参数会以 --build-arg 的形式传递到 build 命令的参数中,支持将上游制品下载地址、上游镜像下载地址设置为参数,同时支持自定义任意参数。

    流水线构建

  4. 参考以下说明填写容器配置,然后点击 下一步

    • 服务配置:支持集群内访问、节点访问、负载均衡。示例值如下:

      name protocol port targetPort
      http TCP 8081 8081
      health-http TCP 8999 8999
      service TCP 9555 9555

      有关服务配置的更多详细说明,可参考创建服务

    • 资源限制:指定应用能使用的资源上限,包括 CPU、内存。

    • 生命周期:设置容器启动时、启动后、停止前需要执行的命令。详情可参考容器生命周期配置

    • 健康检查:用于判断容器和应用的健康状态,有助于提高应用的可用性。详情可参考容器健康检查配置

    • 环境变量:配置 Pod 内的容器参数,为 Pod 添加环境变量或传递配置等。详情可参考容器环境变量配置

    • 数据存储:配置容器挂载数据卷和数据持久化的设置。

    容器配置

  5. 高级配置 页面点击 开启接入微服务 ,参考以下说明配置参数,然后点击 确定

    • 选择框架:支持 Spring CloudDubbo ,此处选择 Spring Cloud
    • 注册中心实例:目前仅支持选择微服务引擎中的托管 Nacos 注册中心实例
    • 注册中心命名空间:微服务应用的 nacos 命名空间
    • 注册中心服务分组:微服务应用的服务分组
    • 用户名/密码:如果该注册中心实例被认证,则需要填写用户名密码
    • 开启服务治理:所选择的注册中心实例应开启了 Sentinel 或 Mesh 治理插件

    高级配置

查看并访问微服务相关信息

  1. 在左侧导航栏点击 概览 ,在 原生应用 页签中,选择原生应用进入到详情页面。

    原生应用

  2. 在详情页面中, 应用资源 页签中,选择带有 服务网格 标签的资源,并点击。

    跳转

  3. 跳转到微服务引擎,查看服务详情

评论