k8s

metric 서버 설치 (Readiness probe failed: HTTP probe failed with statuscode: 500) 오류 수정

초이짬 2022. 7. 22. 11:41
728x90

k8s를 설치 하고 test 하다 보면 모니터링을 할 필요성이 당연히 생기고 rancher를 깔아서 관리를 하고 싶어진다.

 

rancher 설치해도 기본 cpu,mem 은 안보인다. 물론 프로메테우스 깔아야 되는데 기본적으로 metric 서버를 깔면 된다.

 

kubectl top nodes 를 할때 바로 

 

metric API 없다고 하니 

 

아래 깃에서 버전에 맞게 설치 하면 된다.

 

https://github.com/kubernetes-sigs/metrics-server

 

온프레미스 형태로는 

 

몇몇 오류가 있으니 아래와 같이 해결 하면 된다.

 

ready 안됨

metrics-server 가 설치가 되면 상기와 같이 kube-system namespcase 에 설치 되서 pod 정보를 

확인해 보면 서버는 running 인데 0/1 컨테이너가 안올라와 있다 그래서 저걸 

describe 해보면 

$kc describe pod metrics-server-6594d67d48-rdtz8 -n kube-system

 

500 이벤트

상기와 같이 describe 제일 하단 events 에 500 에러가 나온다 물론 해당 이벤트 cli 에서 확인도 되지만

 

rancher event에도 아래와 같이 나온다...rancher는 정말 편하다

 

metric server 오류 이벤트

 

해결 방법은 deploy에  아래 구문을 추가하여 tls 오류를 해결하면 된다. 물론 edit 는 아래와 같이

$kubectl edit deploy metrics-server -n kube-system

 

 - --kubelet-insecure-tls 

 

spec args에 옵션 추가

그리고 추가로 kubectl top nodes 에 아래와 같이

Error from server (ServiceUnavailable): the server is currently unable to

 handle the request (get nodes.metrics.k8s.io)

이렇게 난다면

 

 spec.template.spec 라인에 hostNetwork: true 추가하면 된다고 한다.

2대의 k8s 클러스터 중에 한대는 해주고 하나는 안해줫다 오류 있을때 하면 된다.

 

hostNetwork : true 추가

728x90