2.4. 使用 Operator 部署 3scale


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

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

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

先决条件

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

2.4.1. 部署 APIManager 自定义资源

注意

如果您决定使用 Amazon Simple Storage Service (Amazon S3),请参阅 Amazon Simple Storage Service 3scale FileStorage 安装

Operator 会监视 APIManager CR,并部署所需的 3Scale 解决方案,如 APIManager CR 中指定的。

流程

  1. Operators > Installed Operators

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

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

      注意

      wildcardDomain 参数的值必须是解析到 OpenShift Container Platform (OCP) 路由器地址的有效域名。例如 apps.mycluster.example.com

    • 具有最低要求的 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.4.2. 获取管理门户 URL

当您使用 operator 部署 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.4.3. 获取 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.4.4. 使用 Operator 的 3scale 的外部数据库

重要

从 Red Hat 3scale API 管理部署外部化数据库时,这意味着与应用程序分离,并对在数据库一级的服务中断有一定的弹性。服务中断的恢复取决于您托管数据库的基础架构或平台供应商提供的服务级别协议 (SLA)。3scale 不提供此功能。有关您选择的部署提供的数据库外部化的详情,请查看相关的文档。

当您使用 operator 为 3scale 使用外部数据库时,如果一个或多个数据库失败,则目的是提供不间断的运行时间。

如果您在基于 3scale Operator 的部署中使用外部数据库,请注意以下几点:

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

  • 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.