增强型个别环境代理限制

概览

新的 Apigee Hybrid 组织可以预配,以便在启用每个环境时部署超过 50 个代理。此功能也适用于 Apigee X

  • 每个组织的已部署 API 代理和共享流的数量上限为 6000。
  • 每个 Apigee 实例的代理部署单元数上限为 6000。
  • 每个 Apigee 组织的 API 基本路径数量上限为 3000。

如果在某个环境中部署的代理超过 50 个,Apigee 会自动将该环境划分为多个不同的副本集,每个副本集包含部署到该环境中的代理子集。这些副本子集在行为上与单个环境相同,因为它们会以相同的方式加载和运行一组代理和其他环境资源。这对用户来说是透明的,您可以继续像使用单一环境一样使用该环境。

正在预配

如需为新组织预配每个环境的增强型代理数量,请执行以下操作:

  1. 向您的 Apigee 代表提供项目 ID 和组织名称,以设置增强型代理限制。
  2. 按照 Apigee Hybrid 安装说明配置 Hybrid 组织。在替换文件中,添加 enhanceProxyLimits 顶级属性:
    enhanceProxyLimits: true
    

    通过更新每个环境组的 apigee-org 图表和 apigee-virtualhost 图表,将更改应用于 enhanceProxyLimits

  3. 创建和部署代理。
  4. 验证是否已启用增强型代理限制:
    1. 获取 Apigee 命名空间的 configmap 的名称:
      kubectl get configmap -n APIGEE_NAMESPACE

      您的输出应如下所示:

      NAME                                                             DATA   AGE
      ...
      apigee-synchronizer-hybr-example-env-dggroupconfi-bc7726a       3      12m
      ...
    2. 检查命名的 configmap:
      kubectl get configmap -n APIGEE_NAMESPACE CONFIGMAP_NAME -o yaml

      其中,CONFIGMAP_NAME 是上一步中的 configmap 的名称。

      您的输出应如下所示:

      kubectl get configmap -n apigee apigee-synchronizer-hybr-example-env-dggroupconfi-bc7726a -o yaml
      apiVersion: v1
      data:
      contract.revid: "2"
      contract.uid: 4a792429-20fb-4b29-bed3-3f8ce7b3353e
      deploymentGroups: auto-2ecde5ae-04
      kind: ConfigMap
      metadata:
      creationTimestamp: "2024-05-15T20:04:26Z"
      labels:
          apigee.cloud.google.com/platform: apigee
      name: apigee-synchronizer-hybr-test-env-dggroupconfi-bc7726a
      namespace: apigee
      ownerReferences:
      - apiVersion: apigee.cloud.google.com/v1alpha2
          blockOwnerDeletion: true
          controller: true
          kind: ApigeeEnvironment
          name: hybrid-dev--test-env-4f37f70
          uid: 696e84ec-5c54-4858-a2e0-e36db5ff3506
      resourceVersion: "2520100"
      uid: b297bd33-300a-48cf-bf85-6c7cd0ff288f
      
  5. 检查是否存在包含子字符串 auto 的运行时 Pod:
    kubectl get pods -n APIGEE_NAMESPACE | grep auto

    您的输出应如下所示:

    kubectl get pods -n apigee | grep auto
    apigee-runtime-hybr-test-env-auto-2ecde5a-bca5298-4gsrw   1/1     Running     0                98m

限制

Apigee 仅针对新创建的组织提供增强的个别环境代理限制。支持将现有组织转换为使用增强型代理限制。

如果某个组织是在未启用增强型代理限制的情况下创建的,则无法将该组织的备份恢复到已启用该功能的组织。

已知问题

  • 代理链:
    • 不支持使用 mTLS 的代理链。请参阅已知问题 392135466
    • 如果您有多个虚拟主机,则可能会因 ApigeeRoute 名称冲突而导致 Helm 版本创建失败。解决方法是在为每个环境组安装或升级 apigee-virtualhost 图表时,针对每个虚拟主机运行以下命令:
      kubectl annotate ar apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite
      kubectl annotate cert apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite

      其中:

      • PROJECT_ID_SUFFIX 是 Kubernetes 中项目内部链的唯一后缀。您可以使用以下命令查找此后缀:
        kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining

        输出将如下所示:

        kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining
        apigee-ingressgateway-internal-chaining-my-project--1234567    ClusterIP  34.118.226.140  <none>    15021/TCP,443/TCP    5d6h

        在示例输出中,my-project--1234567PROJECT_ID_SUFFIX

      • APIGEE_NAMESPACE 是您的 Apigee 命名空间。
      • NEW_ENV_GROUP_NAME 是附加环境组的名称。为每个虚拟主机更新此值。

      请参阅已知问题 384937220

问题排查

症状 解决方法
调试会话不会显示请求。 按照设置授权流程中的步骤验证 Apigee 运行时服务账号的权限。