본문 바로가기
Observability/Metrics

[Prometheus] Kube-Proxy Metric 활성화

by dev_ss 2024. 4. 4.

 

 

 

 

 

사내에서 kube-prometheus-stack을 이용하여 쿠버네티스 클러스터 모니터링을 구축하던 차였다.

 

기본적으로 Apiserver 및 노드와 파드의 상태를 모니터링하는 부분은 별 문제가 없으나,

일부 Helm에서 생성되는 쿠버네티스 컴포넌트의 대시보드가 아래처럼 아무런 데이터가 나오지 않았다.

 

[데이터가 나오지 않는 kube-proxy의 Grafana 대시보드]

 

 

데이터가 없는 주요 컴포넌트는 kube-proxy, etcd, kube-controller-manager, kube-scheduler가 있었다.

 

우선 kube-proxy부터 순차적으로 자료 조사를 진행하였다.

 

 

 

해당 원인은 쉽게 파악이 되었고 해결하였는데, ConfigMap에서 kube-proxy의 Metric수집을 위한 주소가 없기 때문이라는 것을 파악했다.

 

 

 


 

Troubleshoot

 

# kube-system에 존재하는 kube-proxy의 configmap 확인

kubectl -n kube-system get cm

 

 

 

위 명령어를 실행하면 아래와 같이 kube-system에 존재하는 Configmap을 확인할 수 있다.

 

 

 

 

여기서 kube-proxy라는 configmap을 수정한다.

 

# kube-proxy의 configmap 수정
kubectl -n kube-system edit cm kube-proxy

 

 

 

 

 

edit 화면으로 전환이 된다면 아래와 같이 metricBindAddress라는 Config값이 비어있는 것을 확인할 수 있다.

 

 

 

 

 

 

이를 다음과 같이 0.0.0.0:10249로 변경하고 저장해 준다.

 

 

 

 

 

그리고 kube-proxy의 수정한 Configmap을 적용시켜 주기 위하여 Daemonset을 재시작해준다.

 

# kube-proxy 재시작
kubectl -n kube-system rollout restart daemonset/kube-proxy

 

 

 

 

 

Prometheus에서 정상적으로 데이터를 수집할 수 있는 것을 Grafana를 통해 확인할 수 있다.

 

 

 

 

 

 

 

반응형