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


如果创建 API 供应商集成,您可能需要为 Red Hat 3scale 中的该集成启用 API 发现。默认行为是 API 不会公开进行 3scale 中的自动发现。

如果启用 3scale 发现,您可以稍后选择性地禁用它。

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

如果创建 API 供应商集成,您可能需要为 Red Hat 3scale 中的该集成启用 API 发现。默认行为是 API 不会公开进行 3scale 中的自动发现。启用发现时,您必须提供 3scale 用户界面的 URL。

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

安装后,您可以通过更新 syndesis 自定义资源来启用发现功能。执行此操作的说明包括在此文档中。启用发现功能时,它仅适用于更新资源时您连接到的 OpenShift 项目。

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

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

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

先决条件

  • Fuse Online 安装在 OCP 现场。
  • 已安装 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 Online 集成的权限:

    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
    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,并始终根据合成自定义资源进行部署。

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

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

先决条件

  • Fuse Online 安装在 OCP 现场。
  • 您有在要禁用发现的项目中安装 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
    3. 保存资源。

      这会更新 syndesis 自定义资源。此更新移除了 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 供应商集成。

结果

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

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.