website/content/ko/docs/reference/instrumentation/node-metrics.md

56 lines
2.4 KiB
Markdown

---
title: 노드 메트릭 데이터
content_type: reference
weight: 50
description: >-
노드, 볼륨, 파드, 컨테이너 레벨에서
kubelet이 보는 것과 동일한 메트릭에 접근하는 메커니즘
---
[kubelet](/docs/reference/command-line-tools-reference/kubelet/)은
노드, 볼륨, 파드, 컨테이너 수준의 통계를 수집하며,
이 통계를
[요약 API(Summary API)](https://github.com/kubernetes/kubernetes/blob/7d309e0104fedb57280b261e5677d919cb2a0e2d/staging/src/k8s.io/kubelet/pkg/apis/stats/v1alpha1/types.go)에 기록한다.
통계 요약 API에 대한 요청을
쿠버네티스 API 서버를 통해 프록시하여 전송할 수 있다.
다음은 `minikube`라는 이름의 노드에 대한 요약 API 요청 예시이다.
```shell
kubectl get --raw "/api/v1/nodes/minikube/proxy/stats/summary"
```
다음은 `curl`을 이용하여 동일한 API 호출을 하는 명령어다.
```shell
# 먼저 "kubectl proxy"를 실행해야 한다.
# 8080 부분을 "kubectl proxy" 명령이 할당해 준 포트로 치환한다.
curl http://localhost:8080/api/v1/nodes/minikube/proxy/stats/summary
```
{{< note >}}
`metrics-server` 0.6.x 버전부터, `metrics-server``/stats/summary`가 아닌
`/metrics/resource` kubelet 엔드포인트에 대해 질의한다.
{{< /note >}}
## 요약 메트릭 API 소스 {#summary-api-source}
기본적으로, 쿠버네티스는 kubelet 내부에서 실행되는
내장 [cAdvisor](https://github.com/google/cadvisor)를 사용하여 노드 요약 메트릭 데이터를 가져온다.
## CRI를 통해 요약 API 데이터 가져오기 {#pod-and-container-stats-from-cri}
{{< feature-state for_k8s_version="v1.23" state="alpha" >}}
클러스터에 `PodAndContainerStatsFromCRI`
[기능 게이트](/ko/docs/reference/command-line-tools-reference/feature-gates/)를 활성화하고,
{{< glossary_tooltip term_id="cri" text="컨테이너 런타임 인터페이스(CRI)">}}를
통한 통계 정보 접근을 지원하는 컨테이너 런타임을 사용하는 경우,
kubelet은 cAdvisor가 아닌 CRI를 사용하여 파드 및 컨테이너 수준의 메트릭 데이터를 가져온다.
## {{% heading "whatsnext" %}}
[클러스터 트러블슈팅하기](/ko/docs/tasks/debug/debug-cluster/) 태스크 페이지에서
이러한 데이터에 의존하는 메트릭 파이프라인을 사용하는 방법에 대해 다룬다.