Zustandslose Apigee Hybrid-Komponenten für die Produktion konfigurieren

Für Produktionsumgebungen erfordern zustandslose Apigee Hybrid-Komponenten wie MART, Runtime und Synchronizer bestimmte Ressourcenkonfigurationen, um Stabilität und Leistung zu gewährleisten. In diesem Thema werden empfohlene Mindestkonfigurationen für diese zustandslosen Apigee Hybrid-Komponenten in einer Produktionsinstallation beschrieben. Zustandslose Komponenten werden im Knotenpool apigee-runtime ausgeführt, wie unter Dedizierte Knotenpools konfigurieren beschrieben.

Diese Empfehlungen basieren auf der Standardbereitstellung von Apigee für kostenpflichtige Organisationen und sollten als Mindestanforderungen für eine Produktionsbereitstellung betrachtet werden. Möglicherweise müssen Sie diese Werte an Ihr spezifisches Traffic-Muster und die Ergebnisse von Lasttests anpassen.

Empfehlungen für Produktionsressourcen

In der folgenden Tabelle sind die empfohlenen Ressourcenanforderungen und ‑limits für Apigee Hybrid-Komponenten in einer Produktionsumgebung aufgeführt.

Komponente CPU-Anfrage Arbeitsspeicheranfrage CPU-Limit Speicherlimit
MART 500m 2Gi 2000m 5Gi
Watcher 1 4Gi 4 16Gi
Laufzeit 2 6Gi 4 12Gi
Synchronizer 1 3Gi 2000m 5Gi
Metrics Aggregator 1 10Gi 4 32Gi
Metrics App 500m 10Gi 2 32Gi
Metrics Proxy 500m 1Gi 2 32Gi
Messwerte-Exporte
(App/Proxy)
500m 3Gi 1 10Gi
Logger 100m 200Mi 200m 200Mi
Connect Agent 500m 1Gi 500m 512Mi
Mint Task Scheduler
(bei Verwendung der Monetarisierung)
100m 100Mi 2000m 4Gi

Beispielüberschreibungen

Fügen Sie Ihrer overrides.yaml-Datei die folgenden Konfigurationen hinzu, um Ihre Apigee Hybrid-Installation für die Produktion zu konfigurieren.

# 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

Konfiguration anwenden

Nachdem Sie die Datei overrides.yaml aktualisiert haben, wenden Sie die Änderungen mit helm upgrade auf die einzelnen Komponenten an.

Wenden Sie die Änderungen für Helm in der folgenden Reihenfolge an:

Aktualisieren Sie apigee-operator:

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

Änderungen für die Komponenten Logger und Metrics anwenden:

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

Änderungen für die Komponenten MART, Watcher, Connect Agent und Mint Task Scheduler anwenden:

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

Wenden Sie Änderungen für die Komponenten Runtime und Synchronizer für jede Umgebung in Ihrer Installation an:

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

Weitere Informationen