Configurar componentes sem estado da Apigee híbrida para produção

Para ambientes de produção, os componentes sem estado do híbrido da Apigee, como MART, ambiente de execução e sincronizador, exigem configurações de recursos específicas para garantir estabilidade e desempenho. Neste tópico, apresentamos as configurações mínimas recomendadas para esses componentes sem estado da Apigee híbrida em uma instalação de produção. Os componentes sem estado são executados no pool de nós apigee-runtime, conforme descrito em Como configurar pools de nós dedicados.

Essas recomendações são baseadas no provisionamento padrão da Apigee para organizações pagas e devem ser consideradas requisitos mínimos para uma implantação de produção. Talvez seja necessário ajustar esses valores com base nos padrões de tráfego específicos e nos resultados dos testes de carga.

Recomendações de recursos Production

A tabela a seguir lista as solicitações e os limites de recursos recomendados para componentes híbridos da Apigee em um ambiente de produção.

Componente Solicitação de CPU Solicitação de memória Limite de CPU Limite de memória
MART 500m 2Gi 2000m 5Gi
Watcher 1 4Gi 4 16Gi
Ambiente de execução 2 6Gi 4 12Gi
Sincronizador 1 3Gi 2000m 5Gi
Agregador de métricas 1 10Gi 4 32Gi
App Metrics 500m 10Gi 2 32Gi
Proxy de métricas 500m 1Gi 2 32Gi
Exportadores de métricas
(app/proxy)
500m 3Gi 1 10Gi
Logger 100m 200Mi 200m 200Mi
Agente do Connect 500m 1Gi 500m 512Mi
Mint Task Scheduler
(se estiver usando a monetização)
100m 100Mi 2000m 4Gi

Exemplos de substituições

Adicione as seguintes configurações ao arquivo overrides.yaml para configurar a instalação da Apigee híbrida para produção.

# 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

Como aplicar a configuração

Depois de atualizar o arquivo overrides.yaml, aplique as mudanças ao cluster usando helm upgrade para cada componente.

Para o Helm, aplique as mudanças na ordem:

Atualize apigee-operator:

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

Aplique as mudanças nos componentes Logger e Metrics:

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

Aplique as mudanças nos componentes MART, Watcher, Agente do Connect e Programador de tarefas do Mint:

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

Aplique as mudanças nos componentes Runtime e Synchronizer para cada ambiente na sua instalação:

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

Consulte também