概览
新的 Apigee Hybrid 组织在预配后,每个启用的环境都可以部署超过 50 个代理。此功能也适用于 Apigee X。
- 每个组织的已部署 API 代理和共享流的数量上限为 6,000 个。
- 每个 Apigee 实例的代理部署单元数上限为 6,000 个。
- 每个 Apigee 组织的 API 基本路径数量上限为 3,000 个。
如果在某个环境中部署的代理超过 50 个,Apigee 会自动将该环境划分为多个不同的副本集,每个副本集包含在该环境中部署的代理的一部分。这些副本子集在加载和运行一组代理和其他环境资源的方式上与单个环境的行为相当。用户不会察觉到此变化,您可以继续像使用单个环境一样使用该环境。
正在预配
如需为新组织预配每个环境的代理数量增强型功能,请执行以下操作:
- 向您的 Apigee 代表提供您的项目 ID 和组织名称,以设置增强型代理限制。
-
按照 Apigee Hybrid 安装说明预配混合组织。在替换文件中,添加
enhanceProxyLimits
顶级属性:enhanceProxyLimits: true
更新每个环境组的
apigee-org
图表和apigee-virtualhost
图表,以将更改应用于enhanceProxyLimits
。 - 创建并部署代理。
-
验证增强型代理限制是否已启用:
-
获取 Apigee 命名空间的 configmap 的名称:
kubectl get configmap -n APIGEE_NAMESPACE
您的输出应如下所示:
NAME DATA AGE ... apigee-synchronizer-hybr-example-env-dggroupconfi-bc7726a 3 12m ...
-
检查命名 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
-
获取 Apigee 命名空间的 configmap 的名称:
-
检查是否存在包含子字符串
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--1234567
是PROJECT_ID_SUFFIX
。APIGEE_NAMESPACE
是您的 Apigee 命名空间。NEW_ENV_GROUP_NAME
是附加环境组的名称。更新每个虚拟主机的此值。
请参阅已知问题 384937220。
问题排查
症状 | 解决方法 |
---|---|
调试会话不显示请求。 | 按照设置授权流程中的步骤验证 Apigee 运行时服务账号的权限。 |