构建基于微服务的应用

由于每个微服务都在处理应用的一部分功能,因此一个应用可以被划分为不同的组件。这些组件彼此独立,具有各自的职责和局限。在 KubeSphere 中,这类应用被称为自制应用,用户可以通过新创建的服务或者现有服务来构建自制应用。

本教程演示了如何创建基于微服务的应用 Bookinfo(包含四种服务),以及如何设置自定义域名以访问该应用。

准备工作

  • 您需要为本教程创建一个企业空间、一个项目以及一个用户 (project-regular)。该用户需要被邀请至项目中并赋予 operator 角色。有关更多信息,请参见创建企业空间、项目、用户和角色
  • project-admin 需要设置项目网关,以便 project-regular 能在创建应用时定义域名。

构建自制应用的微服务

  1. 登录 KubeSphere 的 Web 控制台,导航到项目应用负载中的应用。在自制应用选项卡中,点击创建

  2. 设置应用名称(例如 bookinfo)并点击下一步

  3. 服务页面,您需要构建自制应用的微服务。点击创建服务,选择无状态服务

  4. 设置服务名称(例如 productpage)并点击下一步

    备注

    您可以直接在面板上创建服务,或者启用右上角的编辑 YAML以编辑 YAML 文件。

  5. 点击容器下的添加容器,在搜索栏中输入 kubesphere/examples-bookinfo-productpage-v1:1.13.0 以使用 Docker Hub 镜像。

    备注

    输入镜像名称之后,必须按下键盘上的回车键。

  6. 点击使用默认端口。有关更多镜像设置的信息,请参见容器组设置。点击右下角的 下一步以继续操作。

  7. 存储卷设置页面,添加存储卷或点击下一步以继续操作。

  8. 高级设置页面,直接点击创建

  9. 同样,为该应用添加其他三个微服务。以下是相应的镜像信息:

    服务名称镜像
    无状态服务detailskubesphere/examples-bookinfo-details-v1:1.13.0
    无状态服务reviewskubesphere/examples-bookinfo-reviews-v1:1.13.0
    无状态服务ratingskubesphere/examples-bookinfo-ratings-v1:1.13.0
  10. 添加微服务完成后,点击下一步

  11. 路由设置页面,点击添加路由规则。在指定域名选项卡中,为您的应用设置域名(例如 demo.bookinfo)并在协议字段选择 HTTP。在路径一栏,选择服务 productpage 以及端口 9080。点击确定以继续操作。

    备注

    若未设置项目网关,则无法看见添加路由规则按钮。

  12. 您可以添加更多规则或点击创建以完成创建过程。

  13. 等待应用达到就绪状态。

访问应用

  1. 在为应用设置域名时,您需要在 hosts (/etc/hosts) 文件中添加一个条目。 例如,添加如下所示的 IP 地址和主机名:

    1. 192.168.0.9 demo.bookinfo

    备注

    您必须添加自己的 IP 地址和主机名。

  2. 自制应用中,点击刚才创建的应用。

  3. 资源状态中,点击路由下的访问服务以访问该应用。

    备注

    请确保在您的安全组中打开端口。

  4. 分别点击 Normal userTest user 以查看其他服务