第 1 章 概述
Red Hat Fuse on OpenShift 提供了 API Designer,它是一个基于 Web 的 API 编辑器,可用于设计符合 OpenAPI 2.0 规格的 REST API,这是 API 服务的厂商中立且可移植的开放描述格式。API Designer 是 Apicurio Studio 开源项目的"亮点"版本(https://www.apicur.io/)。这意味着您的 API Designer 会话是无状态的,您必须在每个会话末尾将 API 定义保存为 JSON 文件。
您还可以使用 API Designer 根据 REST API 定义生成初始 Fuse 项目。在 Fuse 开发环境中,您可以完成项目的 Camel 路由并构建项目。最后,您可以在 OpenShift 上的 Fuse 上部署生成的 REST 服务。
以下是如何使用 API Designer 在 OpenShift 应用程序解决方案中的 Fuse 中纳入 REST API 的概述:
- 添加 API Designer 作为服务到 OpenShift 项目。
在 API Designer 中:
- 使用 API Designer 创建 API 定义。将 REST API 定义保存为 JSON 文件到本地文件系统。您可以在编辑会话的任意点保存 API 定义,即使 API 定义没有完成。
- 将 API 定义上传到 API Designer。
- 根据当前的 REST API 定义生成 Fuse Camel 项目。API Designer 提供了一个可下载 zip 文件,其中包含完整的 Maven 项目。
- 在 Fuse 开发环境中,完成由生成的 Fuse 项目提供的框架实施。
- 构建 Fuse 应用并将其部署到 OpenShift。
- (可选)将 Fuse 应用程序与红帽 3scale API 管理集成,使用 3scale 服务发现功能查找并配置 Fuse 应用程序。
1.1. 将 API Designer 作为服务添加到 OpenShift 项目中
您可以从 OpenShift 服务目录将 API Designer 作为服务添加到 OpenShift 项目中。您可以通过 OpenShift 环境外部的 URL 访问此实例。
先决条件
- 根据 OpenShift 系统管理员的建议准则,获取允许您访问 API 设计器的主机名。
在命令窗口中运行以下命令来验证 OpenShift 镜像和模板上的 Fuse (包括
apidesigner-ui
和fuse-apidesigner-generator
)是否安装在 OpenShift 集群上:oc get is -n openshift
如果没有预安装镜像和模板,或者所提供的版本已过时,安装(或更新)OpenShift 镜像和模板上的 Fuse,如 OpenShift 指南中的 Fuse 所述。
流程
将 API Designer 作为一个服务添加到 OpenShift 项目中:
在命令窗口中登录到 OpenShift 服务器:
oc login -u developer -p developer
创建新项目命名空间。例如,以下命令创建一个名为 test 的新项目:
oc new-project test
-
在 Web 浏览器中,打开 OpenShift 控制台并使用您的凭据(例如,用户名
developer
和密码developer
)登录。 单击 Catalog。在 Catalog 搜索字段中,键入
API Designer
,然后选择 Red Hat Fuse API Designer。Red Hat Fuse API Designer 向导 的信息 步骤将打开。
点击 Next。
Red Hat Fuse API Designer 向导的 Configuration 步骤将打开。
-
在 Image Stream Namespace 字段中,键入
openshift
。 -
在 ROUTE_HOSTNAME 字段中,键入允许您访问 API Designer 实例的外部主机名,如
apidesigner-myproject.192.168.64.43.nip.io
。 接受 Configuration 步骤中其余设置的默认值,再单击 Create。
模板向导的 Results 步骤将打开。
- 单击 Close。
在 OpenShift Web 控制台中,在 My Projects 窗格中,选择项目,例如,选择 test。
项目的 Overview 选项卡将打开,显示 apidesigner-ui 应用。
- 单击 apidesigner-ui 部署左侧的箭头,以展开并查看部署详情。
点 API Designer 实例的链接,例如
https://apidesigner-myproject.192.168.64.43.nip.io
。API Designer 在新的 Web 浏览器窗口或标签页中打开。
如果您无法打开 API Designer 实例,您可能需要编辑计算机的 /etc/hosts
文件来添加 ROUTE_HOSTNAME,其中 $OPENSHIFT_IP_ADDR
是 OpenShift 服务器和 apidesigner.my-minishift.apicurio.io
的 IP 地址。
$OPENSHIFT_IP_ADDR apidesigner.my-minishift.apicurio.io