Configurazione dei componenti Apigee Hybrid stateless per la produzione

Per gli ambienti di produzione, i componenti stateless di Apigee hybrid come MART, Runtime e Synchronizer richiedono configurazioni di risorse specifiche per garantire stabilità e prestazioni. Questo argomento fornisce le configurazioni minime consigliate per questi componenti ibridi Apigee stateless in un'installazione di produzione. I componenti stateless vengono eseguiti nel pool di nodi apigee-runtime, come descritto in Configurazione dei pool di nodi dedicati.

Questi consigli si basano sul provisioning predefinito di Apigee per le organizzazioni a pagamento e devono essere considerati requisiti minimi per un deployment di produzione. Potresti dover modificare questi valori in base ai tuoi pattern di traffico specifici e ai risultati dei test di carico.

Consigli sulle risorse di produzione

La tabella seguente elenca le richieste e i limiti di risorse consigliati per i componenti di Apigee hybrid in un ambiente di produzione.

Componente Richiesta di CPU Richiesta di memoria Limite CPU Limite di memoria
MART 500m 2Gi 2000m 5Gi
Watcher 1 4Gi 4 16Gi
Tempo di esecuzione 2 6Gi 4 12Gi
Synchronizer 1 3Gi 2000m 5Gi
Aggregatore di metriche 1 10Gi 4 32Gi
App Metrics 500m 10Gi 2 32Gi
Proxy delle metriche 500m 1Gi 2 32Gi
Esportatori di metriche
(app/proxy)
500m 3Gi 1 10Gi
Logger 100m 200Mi 200m 200Mi
Connect Agent 500m 1Gi 500m 512Mi
Mint Task Scheduler
(se utilizzi la monetizzazione)
100m 100Mi 2000m 4Gi

Esempi di override

Aggiungi le seguenti configurazioni al file overrides.yaml per configurare l'installazione di Apigee hybrid per la produzione.

# 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

Applicazione della configurazione

Dopo aver aggiornato il file overrides.yaml, applica le modifiche al cluster utilizzando helm upgrade per ogni componente.

Per Helm, applica le modifiche nel seguente ordine:

Aggiornamento apigee-operator:

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

Applica le modifiche per i componenti Logger e Metriche:

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

Applica le modifiche per i componenti MART, Watcher, Connect Agent e Mint Task Scheduler:

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

Applica le modifiche ai componenti Runtime e Synchronizer per ogni ambiente dell'installazione:

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

Vedi anche