노드 메트릭 데이터

노드, 볼륨, 파드, 컨테이너 레벨에서 kubelet이 보는 것과 동일한 메트릭에 접근하는 메커니즘

kubelet은 노드, 볼륨, 파드, 컨테이너 수준의 통계를 수집하며, 이 통계를 요약 API(Summary API)에 기록한다.

통계 요약 API에 대한 요청을 쿠버네티스 API 서버를 통해 프록시하여 전송할 수 있다.

다음은 minikube라는 이름의 노드에 대한 요약 API 요청 예시이다.

kubectl get --raw "/api/v1/nodes/minikube/proxy/stats/summary"

다음은 curl을 이용하여 동일한 API 호출을 하는 명령어다.

# 먼저 "kubectl proxy"를 실행해야 한다.
# 8080 부분을 "kubectl proxy" 명령이 할당해 준 포트로 치환한다.
curl http://localhost:8080/api/v1/nodes/minikube/proxy/stats/summary

요약 메트릭 API 소스

기본적으로, 쿠버네티스는 kubelet 내부에서 실행되는 내장 cAdvisor를 사용하여 노드 요약 메트릭 데이터를 가져온다.

CRI를 통해 요약 API 데이터 가져오기

기능 상태: Kubernetes v1.23 [alpha]

클러스터에 PodAndContainerStatsFromCRI 기능 게이트를 활성화하고, 컨테이너 런타임 인터페이스(CRI)를 통한 통계 정보 접근을 지원하는 컨테이너 런타임을 사용하는 경우, kubelet은 cAdvisor가 아닌 CRI를 사용하여 파드 및 컨테이너 수준의 메트릭 데이터를 가져온다.

다음 내용

클러스터 트러블슈팅하기 태스크 페이지에서 이러한 데이터에 의존하는 메트릭 파이프라인을 사용하는 방법에 대해 다룬다.

최종 수정 October 15, 2024 at 3:18 AM PST: Merge pull request #48346 from windsonsea/metricy (50a9341)