티스토리 뷰
CLOUD/Monitoring
kubernetes 리소스 메트릭 얻기 (prometheus, kube-state-metric, metric-server)
헐리 2022. 8. 9. 14:28Prometheus
- kubelet의 통해 container
- target system에서 메트릭을 수집하는 "폴링"방식
<Pulling 방식의 장점> 모든 메트릭에 대한 데이터를 중앙 서버로 보내지 않아도 된다는 점에서 과부하를 방지할 수 있다. |
- 프로메테우스가 "주기적으로" exporter에서 메트릭을 읽어와서 수집(메모리와 로컬디스크에 저장됨) -> exporter는 저장기능 없음
- <장점> 장기간 데이터 유지 -> 시계열 데이터 저장소로 구성되어 있어 많은 양의 정보를 빠르게 검색 가능
<kube-state-metric 사용> 모든 쿠버네티스 오브젝트의 메트릭을 가지고 있는 kube state metric <kubelet> kubelet에 포함된 cAdvisor를 통해 컨테이너의 메트릭 정보를 볼 수 있음 |
k8s metric server & k8s client library
/metric/resource/v1alpha |
- 메트릭 값 저장 x
- 현재값만 보여줌 (값 보관 주기를 설정가능)
- 클러스터 전역에서 리소스 사용량 조회
- kubelet에서 메트릭 데이터 수집(메모리에 저장)
- <단점1> 특정 값을 구하고 싶을 때, 하나하나 읽어와서 파씽해야하기 때문에 prometheus보다 느리고 정확하지 않음
- <단점2> 특정 k8s 오브젝트에 대한 메트릭만 가져올 수 있음 (node, pod 만?)