构建基于微服务的应用
由于每个微服务都在处理应用的一部分功能,因此一个应用可以被划分为不同的组件。这些组件彼此独立,具有各自的职责和局限。在 KubeSphere 中,这类应用被称为自制应用,用户可以通过新创建的服务或者现有服务来构建自制应用。
本教程演示了如何创建基于微服务的应用 Bookinfo(包含四种服务),以及如何设置自定义域名以访问该应用。
准备工作
- 您需要为本教程创建一个企业空间、一个项目以及一个帐户 (
project-regular
)。该帐户需要被邀请至项目中并赋予operator
角色。有关更多信息,请参见创建企业空间、项目、帐户和角色。 project-admin
需要设置项目网关,以便project-regular
能在创建应用时定义域名。
构建自制应用的微服务
-
登录 KubeSphere 的 Web 控制台,导航到项目应用负载中的应用。在自制应用选项卡中,点击构建自制应用。
-
设置应用名称(例如
bookinfo
)并点击下一步。 -
在服务组件页面,您需要构建自制应用的微服务。点击添加服务,选择无状态服务。
-
设置服务名称(例如
productpage
)并点击下一步。备注
您可以直接在面板上创建服务,或者启用右上角的编辑模式以编辑 YAML 文件。 -
点击容器镜像下的添加容器镜像,在搜索栏中输入
kubesphere/examples-bookinfo-productpage-v1:1.13.0
以使用 Docker Hub 镜像。备注
输入镜像名称之后,必须按下键盘上的回车键。 -
点击使用默认端口。有关更多镜像设置的信息,请参见容器镜像设置。点击右下角的 √ 和下一步以继续操作。
-
在挂载存储页面,添加存储卷或点击下一步以继续操作。
-
在高级设置页面,直接点击添加。
-
同样,为该应用添加其他三个微服务。以下是相应的镜像信息:
服务 名称 镜像 无状态服务 details
kubesphere/examples-bookinfo-details-v1:1.13.0
无状态服务 reviews
kubesphere/examples-bookinfo-reviews-v1:1.13.0
无状态服务 ratings
kubesphere/examples-bookinfo-ratings-v1:1.13.0
-
添加微服务完成后,点击下一步。
-
在外网访问页面,点击添加路由规则。在指定域名选项卡中,为您的应用设置域名(例如
demo.bookinfo
)并在协议字段选择http
。在路径
一栏,选择服务productpage
以及端口9080
。点击确定以继续操作。备注
若未设置项目网关,则无法看见添加路由规则按钮。 -
您可以添加更多规则或点击创建以完成创建过程。
-
等待应用达到就绪状态。
访问应用
-
在为应用设置域名时,您需要在 hosts (
/etc/hosts
) 文件中添加一个条目。 例如,添加如下所示的 IP 地址和主机名:192.168.0.9 demo.bookinfo
备注
您必须添加自己的 IP 地址和主机名。 -
在自制应用中,点击刚才创建的应用。
-
在应用组件中,点击点击访问以访问该应用。
备注
请确保在您的安全组中打开端口。 -
分别点击 Normal user 和 Test user 以查看其他服务。