2.4. 配置 Fuse Online 以禁用 3scale 发现 API
如果您遵循了 配置 Fuse Online 中的步骤以启用 3scale 发现 API,每个 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 发现 中所述。
流程
使用有权安装 Fuse Online 的帐户登录到 OpenShift。例如:
oc login -u developer -p developer
切换到启用了 3scale 发现的 OpenShift 项目。例如:
oc project my-fuse-online-project
编辑
syndesis
自定义资源:调用以下命令,这通常会在编辑器中打开资源:
oc edit syndesis
通过在指定
managementUrlFor3scale
键和值的行的开头插入一个 hash 符号(#
)来编辑资源。这使得行成为注释,它会禁用发现。结果应类似如下:spec: components: server: features: # managementUrlFor3scale: https://3scale-admin.apps.mycluster.com
spec: components: server: features: # managementUrlFor3scale: https://3scale-admin.apps.mycluster.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存资源。
这会更新
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重新发布任何启用了发现的 API 供应商集成,并在您刚才禁用发现的项目中创建。
换句话说,如果您禁用了该集成的 API 发现功能,而为创建 API 供应商集成的项目启用了发现,则不需要重新发布 API 供应商集成。
结果
在 3scale 中不再可发现相关 OpenShift 项目中创建的 API 供应商集成的 API。
当 Fuse Online 发布(或重新发布)位于相关项目中的 API 供应商集成时,Fuse Online 提供了一个外部 URL,用于调用 API 提供程序集成操作。