2.5. 使用 Operator 部署 3scale


本节介绍了使用 APIManager 自定义资源通过 3scale 操作器安装和部署 3scale 解决方案。

注意
  • 自 3scale 2.6 起,已删除 通配符路由。

    • 这个功能由 Zync 在后台处理。
  • 创建、更新或删除 API 提供程序时,路由会自动反映这些更改。

先决条件

按照以下步骤,使用 Operator 部署 3scale:

2.5.1. 部署 APIManager 自定义资源

部署 APIManager 自定义资源将使 Operator 开始处理,并从中部署 3scale 解决方案。

流程

  1. Operators > Installed Operators

    1. Installed Operators 列表中,点 3scale Operator
  2. API Manager 选项卡。
  3. Create APIManager
  4. 清除示例内容,并将以下 YAML 定义添加到编辑器中,然后单击 Create

    • 在 3scale 2.8 之前,您可以通过将 HighAvailability 字段设置为 true 来配置自动添加副本。从 3scale 2.8 开始,对副本的添加会通过 APIManager CR 中的 replicas 字段来控制,如下例所示。

      注意

      wildcardDomain 参数可以是您想要将该解析为 IP 地址的任何所需名称,而 IP 地址是一个有效的 DNS 域。

    • 具有最低要求的 APIManager CR:

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManager
      metadata:
        name: apimanager-sample
      spec:
        wildcardDomain: example.com
    • 配置副本的 APIManager CR:

      apiVersion: apps.3scale.net/v1alpha1
      kind: APIManager
      metadata:
        name: apimanager-sample
      spec:
        system:
          appSpec:
            replicas: 1
          sidekiqSpec:
            replicas: 1
        zync:
          appSpec:
            replicas: 1
          queSpec:
            replicas: 1
        backend:
          cronSpec:
            replicas: 1
          listenerSpec:
            replicas: 1
          workerSpec:
            replicas: 1
        apicast:
          productionSpec:
            replicas: 1
          stagingSpec:
            replicas: 1
        wildcardDomain: example.com

2.5.2. 获取 APIManager 管理门户和主管理门户凭证

要在基于 operator 的部署后登录到 3scale 管理门户或 Master 管理门户,您需要每个单独的门户的凭证。要获得以下凭证:

  1. 运行以下命令来获取 Admin Portal 凭证:

    oc get secret system-seed -o json | jq -r .data.ADMIN_USER | base64 -d
    oc get secret system-seed -o json | jq -r .data.ADMIN_PASSWORD | base64 -d
    1. 以 Admin Portal 管理员身份登录,以验证这些凭据是否正常工作。
  2. 运行以下命令来获取主管理门户凭证:

    oc get secret system-seed -o json | jq -r .data.MASTER_USER | base64 -d
    oc get secret system-seed -o json | jq -r .data.MASTER_PASSWORD | base64 -d
    1. 以 Master Admin Portal 管理员身份登录,以验证这些凭据是否正常工作。

其他资源

如需有关 APIManager 字段的更多信息,请参阅参考文档

2.5.3. 获取管理门户 URL

当使用操作器部署 3scale 时,会创建一个带有固定 URL 的默认租户:3scale-admin.${wildcardDomain}

3scale 控制面板显示租户的新门户 URL。例如,如果 <wildCardDomain>3scale-project.example.com,则管理门户 URL 为 https://3scale-admin.3scale-project.example.com

wildcardDomain 是您在安装过程中提供的 <wildCardDomain> 参数。使用这个命令在浏览器中打开这个唯一 URL:

xdg-open https://3scale-admin.3scale-project.example.com

另外,您还可以在 MASTER 门户 URL 上创建新的租户:master.${wildcardDomain}

2.5.4. 配置微版本的自动应用程序

要获得微版本更新并使其被自动应用,3scale Operator 的批准策略必须设置为 Automatic。下面描述了自动手动设置之间的区别,并概述了从一个设置改为另一个流程的步骤。

自动和手动:

  • 在安装过程中,自动设置是所选选项。随着新的更新可用,就会安装新的更新。您可以在安装过程中或之后更改。
  • 如果您在安装过程中或以后选择了 Manual 选项,会在有可用情况下收到更新。接下来,您必须批准 Install Plan,并自行应用。

流程

  1. Operators > Installed Operators
  2. Installed Operators 列表中,单击 3scale API Management
  3. Subscription 标签页。在 Subscription Details 标题下,您将看到子标题 Approval
  4. Approval 下的链接。默认情况下,链接设置为 Automatic。系统将弹出一个标题为 Change Update Approval Strategy 的模态。
  5. 选择您首选的选项:自动(默认)Manual,然后单击 Save

其他资源

2.5.5. 使用 Operator 的 3scale 的高可用性

使用 operator 的 3scale 中的高可用性(HA) 提供不间断的运行时间(例如,在一个或多个数据库失败的情况下继续工作)。

如果要在基于 operator 部署的 3scale 中实现高可用性,请注意以下几点:

  • 在外部配置和部署 3scale 关键数据库。关键数据库包括系统数据库、系统 redis 和后端 redis 组件。确保您以使其具有高可用性的方式部署和配置这些组件。
  • 在部署 3scale 前,通过创建对应的 Kubernetes secret 来指定到这些组件的连接端点。

  • APIManager 自定义资源(CR)中,设置 .spec.externalComponents 属性来指定系统数据库、系统 redis 和 backend redis 为外部:

    externalComponents:
      backend:
        redis: true
    system:
      database: true
      redis: true
    zync:
      database: true

另外,如果您希望 zync 数据库高度可用,为了避免 zync 可能会在重启时丢失队列作业数据,请注意:

  • 在外部部署和配置 zync 数据库。确保以高可用性方式部署和配置数据库。
  • 通过在部署 3scale 前创建对应的 Kubernetes secret,指定到 3scale 的 zync 数据库的连接端点。

  • 通过将 APIManager CR 中的 .spec.externalComponents.zync.database 属性设为 true 来配置 3scale,以指定 zync 数据库是一个外部数据库。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.