Configura componentes de Apigee Hybrid sin estado para la producción

En los entornos de producción, los componentes sin estado de Apigee hybrid, como MART, Runtime y Synchronizer, requieren configuraciones de recursos específicas para garantizar la estabilidad y el rendimiento. En este tema, se proporcionan las configuraciones mínimas recomendadas para estos componentes sin estado de Apigee hybrid en una instalación de producción. Los componentes sin estado se ejecutan en el grupo de nodos apigee-runtime, como se describe en Configura grupos de nodos dedicados.

Estas recomendaciones se basan en el aprovisionamiento predeterminado de Apigee para las organizaciones pagadas y deben considerarse requisitos mínimos para una implementación de producción. Es posible que debas ajustar estos valores según tus patrones de tráfico específicos y los resultados de las pruebas de carga.

Recomendaciones de recursos de producción

En la siguiente tabla, se enumeran las solicitudes y los límites de recursos recomendados para los componentes de Apigee Hybrid en un entorno de producción.

Componente Solicitud de CPU Solicitud de memoria Límite de CPU Límite de memoria
MART 500m 2Gi 2000m 5Gi
Watcher 1 4Gi 4 16Gi
Tiempo de ejecución 2 6Gi 4 12Gi
Sincronizador 1 3Gi 2000m 5Gi
Agregador de métricas 1 10Gi 4 32Gi
App de Metrics 500m 10Gi 2 32Gi
Proxy de métricas 500m 1Gi 2 32Gi
Exportadores de métricas
(App/Proxy)
500m 3Gi 1 10Gi
Logger 100m 200Mi 200m 200Mi
Connect Agent 500m 1Gi 500m 512Mi
Mint Task Scheduler
(si usas la Monetización)
100m 100Mi 2000m 4Gi

Ejemplos de anulaciones

Agrega los siguientes parámetros de configuración a tu archivo overrides.yaml para configurar tu instalación de Apigee Hybrid para producción.

# Production resource requests for MART
mart:
  resources:
    requests:
      cpu: 500m
      memory: 2Gi
    limits:
      cpu: 2000m
      memory: 5Gi

# Production resource requests for Watcher
watcher:
  resources:
    requests:
      cpu: 1
      memory: 4Gi
    limits:
      cpu: 4
      memory: 16Gi

# Production resource requests for environment-scoped components
envs:
  - name: your-env-name
    runtime:
      resources:
        requests:
          cpu: 2
          memory: 6Gi
        limits:
          memory: 12Gi
    synchronizer:
      resources:
        requests:
          cpu: 1
          memory: 3Gi
        limits:
          cpu: 2000m
          memory: 5Gi
  - name: your-other-env-name
    runtime:
      resources:
        requests:
          cpu: 2
          memory: 6Gi
        limits:
          memory: 12Gi
    synchronizer:
      resources:
        requests:
          cpu: 1
          memory: 3Gi
        limits:
          cpu: 2000m
          memory: 5Gi

# Production resource requests for Metrics
metrics:
  aggregator:
    resources:
      requests:
        cpu: 1
        memory: 10Gi
      limits:
        cpu: 4
        memory: 32Gi
  app:
    resources:
      requests:
        cpu: 500m
        memory: 10Gi
      limits:
        cpu: 2
        memory: 32Gi
  proxy:
    resources:
      requests:
        cpu: 500m
        memory: 1Gi
      limits:
        cpu: 2
        memory: 32Gi
  appStackdriverExporter:
    resources:
      requests:
        cpu: 500m
        memory: 3Gi
      limits:
        cpu: 1
        memory: 10Gi
  proxyStackdriverExporter:
    resources:
      requests:
        cpu: 500m
        memory: 3Gi
      limits:
        cpu: 1
        memory: 10Gi

# Production resource requests for Logger
logger:
  resources:
    requests:
      cpu: 100m
      memory: 200Mi
    limits:
      cpu: 200m
      memory: 200Mi

# Production resource requests for Connect Agent
connectAgent:
  resources:
    requests:
      cpu: 500m
        memory: 1Gi
    limits:
      cpu: 500m
      memory: 512Mi

# Production resource requests for Mint Task Scheduler (if using Monetization)
mintTaskScheduler:
  resources:
    requests:
      cpu: 100m
      memory: 100Mi
    limits:
      cpu: 2000m
      memory: 4Gi

Aplica la configuración

Después de actualizar el archivo overrides.yaml, aplica los cambios al clúster con helm upgrade para cada componente.

En el caso de Helm, aplica los cambios en el siguiente orden:

Actualiza apigee-operator con este comando:

helm upgrade operator apigee-operator/ \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  -f OVERRIDES_FILE.yaml

Aplica los cambios para los componentes Logger y Metrics:

helm upgrade telemetry apigee-telemetry/ \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  -f OVERRIDES_FILE.yaml

Aplica los cambios para los componentes MART, Watcher, Connect Agent y Mint Task Scheduler:

helm upgrade ORG_NAME apigee-org/ \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  -f OVERRIDES_FILE.yaml

Aplica los cambios a los componentes Runtime y Synchronizer para cada entorno de tu instalación:

helm upgrade ENV_RELEASE_NAME apigee-env/ \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  --set env=ENV_NAME \
  -f OVERRIDES_FILE.yaml

También consulta lo siguiente: