2.3. 配置 Fuse Online 和 3scale API 发现


如果创建 API 供应商集成,则可能需要在红帽 3scale 中为该集成的 API 进行发现。默认行为是 API 在 3scale 中没有公开供自动发现。

如果启用了 3scale 发现功能,您可以稍后禁用它。

2.3.1. 配置 Fuse Online 以启用 3scale API 发现

如果创建 API 供应商集成,则可能需要在红帽 3scale 中为该集成的 API 进行发现。默认行为是 API 在 3scale 中没有公开供自动发现。启用发现时,必须为 3scale 用户界面提供 URL。

要在安装 Fuse Online 前配置 Fuse Online 以启用 3scale 发现 API,请参阅 配置 Fuse Online 的自定义资源属性的描述

安装后,您可以通过更新概要自定义资源来启用发现。具体操作步骤位于本主题中。当您启用发现时,它只适用于更新资源时连接到的 OpenShift 项目。

打开 3scale 服务发现意味着:

  • 默认行为是 3scale 发布 API 供应商集成。当 3scale 发布 API 供应商集成时:

  • API 供应商集成的创建者可禁用 3scale 发现该集成。换句话说,每个 API 供应商集成创建者都可以选择集成 API 是否可以被发现。

先决条件

  • Fuse Online 已安装在 OCP on-site.
  • 已安装 oc 客户端工具,它连接到安装了 Fuse Online 的 OCP 集群。
  • 您需要在要启用 API 发现的项目中安装 Fuse Online 的权限。
  • 您知道 OpenShift 集群上的 3scale 项目的名称。

流程

  1. 使用有权安装 Fuse Online 的帐户登录 OpenShift。例如:

    oc login -u developer -p developer

  2. 切换到运行 Fuse Online 的 OpenShift 项目。您只为此项目启用发现。例如:

    oc project my-fuse-online-project

  3. 添加允许 3scale 项目查看 Fuse 在线集成的权限:

    oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:amp

    例如,如果 OpenShift 上的 3scale 项目命名为 my3scale

    oc adm policy add-cluster-role-to-user view system:serviceaccount:my3scale:amp

  4. 编辑 syndesis 自定义资源:

    1. 调用以下命令,这通常会在编辑器中打开资源:

      oc edit syndesis

    2. 通过将 managementUrlFor3scale 设置为 3scale 用户界面的 URL 来编辑资源。结果如下:

      spec:
        components:
          server:
            features:
              managementUrlFor3scale: https://3scale-admin.apps.mycluster.com
      Copy to Clipboard Toggle word wrap
    3. 保存资源。
  5. 可选。要确认已为您切换到的项目打开了发现,请调用以下命令:

    oc describe dc/syndesis-server

    启用发现后,此命令的输出显示 OPENSHIFT_MANAGEMENT_URL_FOR3SCALE 环境变量被设置为您在自定义资源中指定的 URL。

结果

syndesis 自定义资源的改变会触发 syndesis-operator (负责安装 Fuse Online)重新部署 syndesis-server。在您切换到的 OpenShift 项目中,新的默认行为是,API 在 3scale 中被公开以进行发现。

不要编辑 syndesis-server DeploymentConfig 对象,以设置 OPENSHIFT_MANAGEMENT_URL_FOR3SCALE 环境变量。这不起作用,因为 syndesis-operator 会恢复您的更改。 syndesis -operator 确保仅部署 Fuse Online,并根据合合自定义资源始终部署。

2.3.2. 配置 Fuse Online 以禁用 API 的 3scale 发现

如果您遵循了 配置 Fuse Online 中的步骤以启用 3scale 发现 API,每个 API 供应商集成创建者可以选择该集成的 API 是否可以被发现。在某些情况下,您可能想要重新配置默认行为,即集成 API 在 3scale 中不可发现,例如:您可能希望在 Fuse Online 中编辑和测试 API 供应商集成。为此,请更新 Fuse Online syndesis 自定义资源,以便指定 managementUrlFor3scale 键和值被注释掉的行。这禁用由 3scale 进行发现。然后重新发布任何带有可发现 API 的 API 供应商集成。

先决条件

  • Fuse Online 已安装在 OCP on-site.
  • 您需要在要禁用发现的项目中安装 Fuse Online 的权限。
  • 已安装 oc 客户端工具,它连接到安装了 Fuse Online 的 OCP 集群。
  • 在 OpenShift 项目中启用了 3scale 发现功能,如 配置 Fuse Online 以启用 API 的 3scale 发现 中所述。

流程

  1. 使用有权安装 Fuse Online 的帐户登录 OpenShift。例如:

    oc login -u developer -p developer

  2. 切换到启用了 3scale 发现的 OpenShift 项目。例如:

    oc project my-fuse-online-project

  3. 编辑 syndesis 自定义资源:

    1. 调用以下命令,这通常会在编辑器中打开资源:

      oc edit syndesis

    2. 编辑资源,方法是在指定 managementUrlFor3scale 键和值的行中插入 hash 符号(#)。这使得行是禁用发现的注释。结果应类似如下:

      spec:
        components:
          server:
            features:
            #  managementUrlFor3scale: https://3scale-admin.apps.mycluster.com
      Copy to Clipboard Toggle word wrap
    3. 保存资源。

      这会 更新同步 自定义资源。该更新会删除 OPENSHIFT_MANAGEMENT_URL_FOR3SCALE 环境变量。对 syndesis 自定义资源的改变会触发 syndesis-operator (负责安装 Fuse Online)重新部署 syndesis-server。新的默认行为是,API 不再公开用于 3scale 中的发现。

    不要编辑 syndesis-server DeploymentConfig 对象,以删除 OPENSHIFT_MANAGEMENT_URL_FOR3SCALE 环境变量的设置。这不起作用,因为 syndesis-operator 会恢复您的更改。 syndesis -operator 确保仅部署 Fuse Online,并根据合合自定义资源始终部署。

  4. 重新发布启用了发现的所有 API 供应商集成,并在您刚刚禁用发现的项目中创建的 API 供应商集成。

    换句话说,如果您禁用了该集成的 API 发现功能,且为创建 API 供应商集成的项目启用了发现,则不需要重新发布 API 供应商集成。

结果

在相关 OpenShift 项目中创建的 API 供应商集成的 API 在 3scale 中不再可以被发现。

当 Fuse Online 发布(或重新发布)一个位于相关项目中的 API 供应商集成时,Fuse Online 提供了一个外部 URL,用于调用 API 供应商集成操作。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat