本番環境用にステートレス Apigee ハイブリッド コンポーネントを構成する

本番環境では、MART、Runtime、Synchronizer などの Apigee ハイブリッド ステートレス コンポーネントで、安定性とパフォーマンスを確保するために特定のリソース構成が必要です。このトピックでは、本番環境インストールにおけるこれらのステートレス Apigee ハイブリッド コンポーネントの推奨最小構成について説明します。ステートレス コンポーネントは、専用ノードプールの構成で説明されているように、apigee-runtime ノードプールで実行されます。

これらの推奨事項は、有料組織の Apigee のデフォルトのプロビジョニングに基づいており、本番環境のデプロイの最小要件と見なす必要があります。これらの値は、特定のトラフィック パターンとロードテストの結果に基づいて調整する必要がある場合があります。

本番環境のリソースに関する推奨事項

次の表に、本番環境の Apigee ハイブリッド コンポーネントに推奨されるリソース リクエストと上限を示します。

コンポーネント CPU リクエスト メモリ リクエスト CPU 制限 メモリ制限 
MART 500m 2Gi 2000m 5Gi
Watcher 1 4Gi 4 16Gi
ランタイム 2 6Gi 4 12Gi
Synchronizer 1 3Gi 2000m 5Gi
Metrics Aggregator 1 10Gi 4 32Gi
Metrics App 500m 10Gi 2 32Gi
指標プロキシ 500m 1Gi 2 32Gi
指標エクスポート
(アプリ/プロキシ)
500m 3Gi 1 10Gi
Logger 100m 200Mi 200m 200Mi
Connect Agent 500m 1Gi 500m 512Mi
Mint Task Scheduler
(収益化を使用している場合)
100m 100Mi 2000m 4Gi

オーバーライドの例

次の構成を overrides.yaml ファイルに追加して、本番環境用に Apigee ハイブリッド インストールを構成します。

# 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

構成を適用する

overrides.yaml ファイルを更新したら、各コンポーネントの helm upgrade を使用して、変更をクラスタに適用します。

Helm の場合は、次の順序で変更を適用します。

apigee-operator を更新します。

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

Logger コンポーネントと Metrics コンポーネントの変更を適用します。

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

MARTWatcherConnect エージェントMint Task Scheduler コンポーネントの変更を適用します。

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

インストール内の各環境の Runtime コンポーネントと Synchronizer コンポーネントに変更を適用します。

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

関連情報