Kubernetes Administration Question #019e3a4f
Qual é a API que expõe as métricas de recursos do metrics-server?
custom.k8s.io
resources.k8s.io
metrics.k8s.io
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.