1.6. 为 3scale API 管理配置 Horizontal Pod 自动扩展


注意
  • 默认值(特别是阈值)可能不适用于您的环境,可能需要调整。
  • 请求和限值可能需要修改。
  • 强烈建议性能测试。

为红帽 3scale API 管理组件配置 Horizontal Pod 自动扩展(HPA)可确保最佳资源利用率和可扩展性。使用本指南,您可以为 apicast-productionbackend-listenerbackend-worker 组件启用并配置 HPA。您可以保持高效的性能,并动态处理各种工作负载。在更新 APIManager 自定义资源(CR)前检查先决条件,并修改 HPA 配置以满足您的特定需求。

先决条件

  • 确保 Redis 在 async 模式下运行。3scale Operator 默认启用。
  • HPA 的 resource RequirementsEnabled 必须设置为 true

流程

  1. apicast-productionbackend-listenerbackend-worker 组件启用 HPA。接受默认的 HPA 配置,该配置设置至少为 1 个 pod 且最多 5 个 pod 的 85% 资源利用率。
  2. 将 HPA 配置添加到 APIManager CR。以下 YAML 是 backend-workerbackend-listenerapicast-production 组件的配置示例:

    apiVersion: apps.3scale.net/v1alpha1
    kind: APIManager
    metadata:
      name: example-apimanager
    spec:
      wildcardDomain: example.com
      resourceRequirementsEnabled: true
      apicast:
        productionSpec:
          hpa: true
      backend:
        listenerSpec:
          hpa: true
        workerSpec:
          hpa: true
  3. 检查默认的 HPA 配置。默认 HPA 配置创建 HPA 实例,其具有 backend-worker 的以下设置:

    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: backend-worker
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: backend-worker
      minReplicas: 1
      maxReplicas: 5
      metrics:
        - type: Resource
          resource:
            name: cpu
            target:
              averageUtilization: 85
              type: Utilization
        - type: Resource
          resource:
            name: memory
            target:
              averageUtilization: 85
              type: Utilization
  4. 根据需要修改 HPA 实例。创建 HPA 实例后,手动编辑它们以根据您的工作负载要求更好地优化您的配置。
  5. 如果需要,禁用 HPA。要为组件删除 HPA,请删除 hpa 字段或将其设置为 false :

    backend:
      workerSpec:
        hpa: false

其他备注

  • 启用 HPA 覆盖并忽略 APIManager CR 中为 apicast-productionbackend-listenerbackend-worker 设置的任何副本值。
  • 对于垂直扩展,设置等于限制的资源请求。由于 HPA 根据默认的 85% 进行扩展,因此不需要为限制设置额外的资源。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部