2.6. 使用 Operator 部署 3scale

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

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

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

先决条件

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

2.6.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.6.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.6.3. 获取管理门户 URL

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

3scale 控制面板显示租户的新门户 URL。例如,如果 < wildCardDomain& gt; 为 3scale-project.example.com,则管理门户 URL 为

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

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

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

2.6.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.6.5. 使用 Operator 的 3scale 的高可用性

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

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

  • 在外部部署并配置 3scale 关键数据库,特别是系统数据库、系统 redis 和后端 redis。确保以高可用性方式部署和配置这些数据库。
  • 通过预先填充对应的 Kubernetes Secret,为 3scale 指定连接端点。

  • 在部署 APIManager CR 时,将 .spec.highAvailability.enabled 属性设置为 true,以便为关键数据库启用外部数据库模式:系统数据库、系统 redis 和 backend redis。

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

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

  • 部署 3scale 将 spec.highAvailability.externalZyncDatabaseEnabled 属性设置为 true,以指定 zync 数据库作为外部数据库。