Mengonfigurasi komponen Apigee hybrid stateless untuk produksi

Untuk lingkungan produksi, komponen stateless Apigee Hybrid seperti MART, Runtime, dan Synchronizer memerlukan konfigurasi resource tertentu untuk memastikan stabilitas dan performa. Topik ini memberikan konfigurasi minimum yang direkomendasikan untuk komponen Apigee Hybrid stateless ini dalam penginstalan produksi. Komponen stateless berjalan di node pool apigee-runtime, seperti yang dijelaskan dalam Mengonfigurasi node pool khusus.

Rekomendasi ini didasarkan pada penyediaan default Apigee untuk organisasi berbayar dan harus dianggap sebagai persyaratan minimum untuk deployment produksi. Anda mungkin perlu menyesuaikan nilai ini berdasarkan pola traffic dan hasil pengujian beban tertentu.

Rekomendasi resource produksi

Tabel berikut mencantumkan permintaan dan batas resource yang direkomendasikan untuk komponen hybrid Apigee di lingkungan produksi.

Komponen Permintaan CPU Permintaan Memori Batas CPU Batas Memori
MART 500m 2Gi 2000m 5Gi
Watcher 1 4Gi 4 16Gi
Runtime 2 6Gi 4 12Gi
Synchronizer 1 3Gi 2000m 5Gi
Penggabung Metrik 1 10Gi 4 32Gi
Aplikasi Metrik 500m 10Gi 2 32Gi
Proxy Metrik 500m 1Gi 2 32Gi
Pengekspor Metrik
(Aplikasi/Proxy)
500m 3Gi 1 10Gi
Logger 100m 200Mi 200m 200Mi
Connect Agent 500m 1Gi 500m 512Mi
Mint Task Scheduler
(Jika menggunakan Monetisasi)
100m 100Mi 2000m 4Gi

Contoh penggantian

Tambahkan konfigurasi berikut ke file overrides.yaml Anda untuk mengonfigurasi penginstalan hybrid Apigee untuk produksi.

# 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

Menerapkan konfigurasi

Setelah memperbarui file overrides.yaml, terapkan perubahan pada cluster Anda menggunakan helm upgrade untuk setiap komponen.

Untuk Helm, terapkan perubahan secara berurutan:

Update apigee-operator:

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

Terapkan perubahan untuk komponen Logger dan Metrics:

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

Terapkan perubahan untuk komponen MART, Watcher, Connect Agent, dan Mint Task Scheduler:

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

Terapkan perubahan untuk komponen Runtime dan Synchronizer untuk setiap lingkungan di penginstalan Anda:

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

Lihat juga