增强了代理限制

概览

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

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

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

正在预配

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

  1. 向您的 Apigee 代表提供您的项目 ID 和组织名称,以设置增强型代理限制。
  2. 按照 Apigee 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 运行时服务账号的权限。