8.2. 配置 OpenShift 以启用服务发现


作为 3scale 管理员,您可以使用或不使用 Open Authorization(OAuth)服务器来配置服务发现。

如果您使用 OAuth 服务器配置 3scale 服务发现,当用户签名到 3scale 时会出现这种情况:

  • 用户重定向到 OAuth 服务器。
  • 如果用户尚未登录到 OAuth 服务器,则会提示该用户登录。
  • 如果这是用户首次使用 SSO 实施 3scale 服务发现,OAuth 服务器会提示您授权执行相关操作。
  • 用户重定向到 3scale。

要使用 OAuth 服务器配置服务发现,有以下选项:

如果您在没有 OAuth 服务器的情况下配置服务发现,当用户签入到 3scale 时,该用户不会被重定向。相反,3scale 单服务帐户为集群提供无缝身份验证,以进行服务发现。所有 3scale 租户管理用户对集群具有相同的访问权限级别,同时通过 3scale 发现 API 服务。

8.2.1. 使用 OpenShift OAuth 服务器配置服务发现

作为 3scale 系统管理员,您可以使用 OpenShift 内置的 OAuth 服务器来单独验证和授权 3scale 来发现 API。

先决条件

  • 您必须将 3scale 2.9 部署到 OpenShift 集群(版本 3.11 或更高版本)。
  • 若要将 3scale 部署到 OpenShift,您需要使用 3scale-amp-openshift-templates
  • 3scale 用户若要在 3scale 中使用服务发现,必须有权访问 OpenShift 集群。

流程

  1. 为 3scale 创建 OpenShift OAuth 客户端。如需了解更多详细信息,请参阅 OpenShift 身份验证文档。在以下示例中,将 <provide-a-client-secret> 替换为您生成的 secret,并将 <3scale-master-domain-route> 替换为 3scale Master 管理门户的 URL。

        $ oc project default
        $ cat <<-EOF | oc create -f -
        kind: OAuthClient
        apiVersion: v1
        metadata:
         name: 3scale
        secret: "<provide-a-client-secret>"
        redirectURIs:
         - "<3scale-master-domain-route>"
        grantMethod: prompt
        EOF
    Copy to Clipboard Toggle word wrap
  2. 打开 3scale 服务发现设置文件:

        $ oc project <3scale-project>
        $ oc edit configmap system
    Copy to Clipboard Toggle word wrap
  3. 配置以下设置:

        service_discovery.yml:
          production:
            enabled: true
            authentication_method: oauth
            oauth_server_type: builtin
            client_id: '3scale'
            client_secret: '<choose-a-client-secret>'
    Copy to Clipboard Toggle word wrap
  4. 确保用户有适当的权限来查看包含可发现服务的集群项目。

    要授予管理员用户(由 <user> 表示),对于包括了一个服务的 <namespace> 项目的查看权限可以被发现,使用以下命令:

    oc adm policy add-role-to-user view <user> -n <namespace>
    Copy to Clipboard Toggle word wrap
  5. 修改 configmap 后,您必须重新部署 system-appsystem-sidekiq pod 以应用更改。

    oc rollout latest dc/system-app
    oc rollout latest dc/system-sidekiq
    Copy to Clipboard Toggle word wrap
  6. 检查推出部署的状态,以确保它已完成:

    oc rollout status dc/system-app
    oc rollout status dc/system-sidekiq
    Copy to Clipboard Toggle word wrap

其他备注

如需有关 OpenShift OAuth 令牌的更多信息,请配置内部 OAuth 服务器

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat