Skip to content

[K8s] Adicionar HPA para escalonamento automático do stella-api #146

Description

@muniagebot

Situação atual

O deployment do stella-api está fixo em replicas: 1. Não há escalonamento automático configurado.

Por que adicionar HPA

Durante demonstrações de aula com múltiplos alunos usando o sistema simultaneamente, especialmente com features de IA (análise de foto, busca semântica), o pod único pode ficar sobrecarregado.

Um HPA simples baseado em CPU já resolve o caso de uso de demo:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: stella-api
  namespace: platform
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: stella-api
  minReplicas: 1
  maxReplicas: 3
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70

Pré-requisitos

Impacto na aula

Excelente demonstração ao vivo:

  1. Mostrar kubectl get hpa -n platform -w
  2. Gerar carga com múltiplas requisições de análise de foto simultâneas
  3. Ver o HPA escalar de 1 para 2/3 réplicas em tempo real
  4. Parar a carga e ver o scale-down após o cooldown

Nota sobre AiUsageGuard

Com HPA ativo, o AiUsageGuard em memória passa a ter comportamento incorreto (issue #137). As duas issues devem ser tratadas em conjunto ou na sequência correta.

Metadata

Metadata

Assignees

No one assigned

    Labels

    k8sKubernetes / infraestrutura de produçãoperformancePerformance, escalabilidade e eficiênciatriage:futuroBoa ideia, mas futura ou sem prioridade para a estrutura atualtriage:superflua-agoraSupérflua para a estrutura atual, especialmente no Gimli

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions