Observability/Grafana-Labs
[Prometheus] Kube-Proxy Metric 활성화
dev_ss
2024. 4. 4. 18:45
사내에서 kube-prometheus-stack을 이용하여 쿠버네티스 클러스터 모니터링을 구축하던 차였다.
기본적으로 Apiserver 및 노드와 파드의 상태를 모니터링하는 부분은 별 문제가 없으나,
일부 Helm에서 생성되는 쿠버네티스 컴포넌트의 대시보드가 아래처럼 아무런 데이터가 나오지 않았다.
데이터가 없는 주요 컴포넌트는 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를 통해 확인할 수 있다.
반응형