프로덕션을 위한 스테이트리스 Apigee Hybrid 구성요소 구성

프로덕션 환경의 경우 MART, 런타임, 동기화 도구와 같은 Apigee Hybrid 스테이트리스 구성요소에는 안정성과 성능을 보장하기 위한 특정 리소스 구성이 필요합니다. 이 주제에서는 프로덕션 설치에서 이러한 스테이트리스 Apigee Hybrid 구성요소에 권장되는 최소 구성을 제공합니다. 스테이트리스 구성요소는 전용 노드 풀 구성에 설명된 대로 apigee-runtime 노드 풀에서 실행됩니다.

이러한 권장사항은 유료 조직을 위한 Apigee의 기본 프로비저닝을 기반으로 하며 프로덕션 배포를 위한 최소 요구사항으로 간주해야 합니다. 특정 트래픽 패턴과 부하 테스트 결과에 따라 이러한 값을 조정해야 할 수 있습니다.

프로덕션 리소스 추천

다음 표에는 프로덕션 환경에서 Apigee Hybrid 구성요소에 권장되는 리소스 요청 및 한도가 나와 있습니다.

구성요소 CPU 요청 메모리 요청 CPU 한도 메모리 한도
MART 500m 2Gi 2000m 5Gi
감시자 1 4Gi 4 16Gi
런타임 2 6Gi 4 12Gi
동기화 담당자 1 3Gi 2000m 5Gi
측정항목 애그리게이터 1 10Gi 4 32Gi
Metrics App 500m 10Gi 2 32Gi
측정항목 프록시 500m 1Gi 2 32Gi
측정항목 내보내기 프로그램
(앱/프록시)
500m 3Gi 1 10Gi
Logger 100m 200Mi 200m 200Mi
Connect 에이전트 500m 1Gi 500m 512Mi
민트 작업 스케줄러
(수익 창출을 사용하는 경우)
100m 100Mi 2000m 4Gi

재정의 예

overrides.yaml 파일에 다음 구성을 추가하여 프로덕션용 Apigee Hybrid 설치를 구성합니다.

# 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

로거측정항목 구성요소의 변경사항을 적용합니다.

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

MART, Watcher, Connect Agent, Mint Task Scheduler 구성요소의 변경사항을 적용합니다.

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

설치된 각 환경에 대해 런타임동기화 담당자 구성요소의 변경사항을 적용합니다.

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

추가 정보