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

如果您遵循了 配置 Fuse Online 中的步骤以启用 3scale 发现 API,每个 API 供应商集成创建者可以选择该集成的 API 是否可以被发现。在某些情况下,您可能想要重新配置默认行为,即集成 API 在 3scale 中无法发现,为此,更新 Fuse Online syes is 自定义资源,将 3scale 的管理 URL 重置为空白。然后,重新发布任何带有可发现 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 自定义资源上调用 oc patch 命令,并将 3scale 用户界面的 URL 设置为空值:

    oc patch syndesis app --type='merge' -p '{"spec":{"components":{"server":{"features":{"managementUrlFor3scale":""}}}}}'

    此命令 更新复合 自定义资源。更新将禁用 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 供应商集成。

结果

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

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