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


作为 3scale 系统管理员,允许用户单独验证并授权 3scale 使用 OpenShift 内置 OAuth 服务器来发现 API。

先决条件

  • 您必须将 3scale 2.14 部署到 OpenShift Container Platform (OCP) 4.x 集群。
  • 3scale 用户若要在 3scale 中使用服务发现,必须有权访问 OpenShift 集群。

流程

  1. 为 3scale 创建 OpenShift OAuth 客户端。如需了解更多详细信息,请参阅 OpenShift 身份验证文档。在以下示例中,将 < provide-a-client-secret& gt; 替换为您生成的 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
  2. 打开 3scale 服务发现设置文件:

    $ oc project <3scale-project>
    $ oc edit configmap system
  3. 配置以下设置:

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

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

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

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

    $ oc rollout status dc/system-app
    $ oc rollout status dc/system-sidekiq

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.