Kubernetes Administration
medium

Kubernetes Administration Question #019e3a4f

Question Statement
Kubernetes Administration
#metrics-server
#resource-metrics
#kubernetes-api
Medium

Qual é a API que expõe as métricas de recursos do metrics-server?

A

custom.k8s.io

B

resources.k8s.io

C

metrics.k8s.io

Correct
D

cadvisor.k8s.io

Official Explanation / Community Explanations

O metrics-server coleta métricas de recursos (uso de CPU e memória) de nós e pods e as expõe através da API metrics.k8s.io. Essa API faz parte da camada de agregação da API do Kubernetes e é usada por ferramentas como kubectl top para exibir o uso de recursos em tempo real.

Como Funciona

O metrics-server é executado como um deployment no namespace kube-system. Ele coleta métricas do endpoint cAdvisor do kubelet em cada nó, as agrega e as serve através da API metrics.k8s.io. Essa API é registrada como uma API agregada, permitindo que kubectl e outros clientes a consultem usando chamadas padrão da API do Kubernetes.

Por que metrics.k8s.io está Correta

O grupo de API metrics.k8s.io é o endpoint padrão para métricas de recursos no Kubernetes. Ele é definido pela especificação da API de Métricas do Kubernetes e implementado pelo metrics-server. A versão da API é tipicamente v1beta1 (ex.: /apis/metrics.k8s.io/v1beta1).

Por que as Outras Opções estão Incorretas

  • custom.k8s.io: Este grupo de API é usado para métricas personalizadas, não para métricas de recursos. Métricas personalizadas são geralmente fornecidas por adaptadores como o adaptador do Prometheus e são usadas para autoescalonamento horizontal de pods baseado em métricas de aplicação personalizadas.
  • resources.k8s.io: Este não é um grupo de API padrão do Kubernetes. Métricas de recursos não são expostas sob este nome.
  • cadvisor.k8s.io: cAdvisor é um componente dentro do kubelet que coleta métricas de contêineres, mas não expõe uma API diretamente. O metrics-server coleta dados do cAdvisor internamente, mas a API externa é metrics.k8s.io.