노드 메트릭 데이터
노드, 볼륨, 파드, 컨테이너 레벨에서 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
참고:
metrics-server
0.6.x 버전부터, metrics-server
는 /stats/summary
가 아닌
/metrics/resource
kubelet 엔드포인트에 대해 질의한다.요약 메트릭 API 소스
기본적으로, 쿠버네티스는 kubelet 내부에서 실행되는 내장 cAdvisor를 사용하여 노드 요약 메트릭 데이터를 가져온다.
CRI를 통해 요약 API 데이터 가져오기
기능 상태:
Kubernetes v1.23 [alpha]
클러스터에 PodAndContainerStatsFromCRI
기능 게이트를 활성화하고,
컨테이너 런타임 인터페이스(CRI)를
통한 통계 정보 접근을 지원하는 컨테이너 런타임을 사용하는 경우,
kubelet은 cAdvisor가 아닌 CRI를 사용하여 파드 및 컨테이너 수준의 메트릭 데이터를 가져온다.
다음 내용
클러스터 트러블슈팅하기 태스크 페이지에서 이러한 데이터에 의존하는 메트릭 파이프라인을 사용하는 방법에 대해 다룬다.
최종 수정 June 20, 2024 at 12:44 PM PST: Sync changest from andygol/k8s-website (36d05bc8a1)