• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

kube-proxy metric설정에 관한 질문입니다.

23.09.09 16:56 작성 조회수 200

0

약간 헷갈리는 부분이 있어서 질문올립니다.

kube-proxy에대한 metric을 수집하는 부분을 보고 있습니다. ( 4.7 8:00 - 9:00 )

annotations:
    prometheus.io/scrape: "true"
    prometheus.io/port: "10249"

이런것과 같이 해당 conatiner에서 이와같은 annotations를 달면, prometheus에서 kube-api-server를 통해 해당 정보가 있는지를 파악하고 해당 IP, port를 target으로 설정한다.

여기까지는 잘 이해가 된것 같습니다. ( 혹시 틀린게 있다면 알려주세요.. )

 

그런데, kube-proxy같은 경우는 수집이 안되는것이,

<container_ip>:10249 로 application 단에서는 준비가 다되었지만, 접근을 할수가 없어서 DOWN상태로 수집을 못한다. 이렇게 이해했습니다.

그래서,

metricsBindAddress: 0.0.0.0:10249

이렇게 설정을 하게되면, any ip대역에서 10249 포트로 넘어오는 것에 대해서는 해당 kubeproxy의 10249로 연결을 해주는 설정을 해준다.

0.0.0.0:10249 -> <kube-proxy-ip>:10249 이렇게 port-forwarding으로 해주고,

그래서 접근이 가능하니, 이미 준비가 되어있는 metrics 정보를 얻을 수 있고,

그래서 Prometheus에서 정해진 metrics를 얻을 수 있다.

 

이렇게 이해를 했는데,.. 맞는건가요?? 헷갈리기 시작하네요..

감사합니다.

 

 

답변 1

답변을 작성해보세요.

2

안녕하세요 Hyeonghwan Kwon 님

결론을 먼저 말씀드리자면, 이해하신 내용이 맞습니다.

저희가 셸로 설정 값을 변경해서 kube-proxy 컨테이너의 ACL을 완화한 것입니다.

더 자세하게 설명드리자면 기본적으로 kube-proxy로부터 metrics을 가져올 수 있는 IP는 자기 자신이며, 이외의 외부로부터 메트릭 조회 요청은 무시가 됩니다.

따라서 metricsBindAddress: 0.0.0.0:10249 로 설정하여서, Any로 접속 가능한 상태로 프로메테우스가 kube-proxy에 대한 메트릭을 조회할 수 있도록 조치한 것 입니다.

답변이 도움이 되셨길 바랍니다.

오늘도 좋은 하루 보내세요.

문성주 드림