Service Configuration
medium

Service Configuration Question #019e3a4f

Question Statement
Service Configuration
#kubernetes
#horizontalpodautoscaler
#prometheus
#custom metrics
#autoscaling
Medium

Quais ferramentas permitem que os HorizontalPodAutoscalers do Kubernetes usem métricas personalizadas geradas por aplicativos para acionar eventos de escalonamento?

A

Prometheus e o prometheus-adapter.

Correct
B

Graylog e graylog-autoscaler metrics.

C

Graylog e o kubernetes-adapter.

D

Grafana e Prometheus.

Official Explanation / Community Explanations

A combinação correta de ferramentas é Prometheus e o prometheus-adapter. O HorizontalPodAutoscaler (HPA) no Kubernetes pode escalar pods com base em métricas personalizadas, não apenas CPU/memória. Para usar métricas geradas por aplicativos, você precisa de um adaptador de métricas que implemente a API custom.metrics.k8s.io. O Prometheus coleta métricas dos aplicativos, e o prometheus-adapter (também conhecido como k8s-prometheus-adapter) expõe essas métricas para o servidor de API do Kubernetes, permitindo que o HPA as consulte.

Como funciona:

  1. O Prometheus coleta métricas personalizadas de endpoints de aplicativos (ex.: /metrics).
  2. O prometheus-adapter é configurado com regras para mapear métricas do Prometheus para métricas personalizadas do Kubernetes.
  3. O HPA referencia essas métricas personalizadas em sua configuração (ex.: type: Object ou type: Pods com um nome de métrica).
  4. O HPA consulta a API custom.metrics.k8s.io, que o adaptador serve, e escala os pods de acordo.

Por que as opções incorretas estão erradas:

  • Graylog é um sistema de gerenciamento de logs, não um coletor de métricas. Ele não fornece uma API de métricas para HPA. O graylog-autoscaler metrics e o kubernetes-adapter não são componentes padrão do Kubernetes.
  • Grafana é uma ferramenta de visualização; ela não expõe métricas para a API do Kubernetes. Embora o Prometheus esteja correto, o Grafana sozinho não pode servir métricas personalizadas para o HPA.

Apenas o Prometheus com o prometheus-adapter permite que o HPA use métricas personalizadas de aplicativos para escalonamento.