본문 바로가기
[Kubernetes Master]/12. 리소스 로깅과 모니터링

Metrics-server 설치방법

by METAVERSE STORY 2023. 7. 26.
반응형
728x170

 

※ 다음 실습은 kubernetes v1.17.3에서 테스트하였습니다.

메트릭스 서버는 쿠버네티스에서 리소스 메트릭 파이프라인을 구성하는 가장 기본적인 방법이다. 그러나 쿠버네티스를 설치한다고해서 메트릭 서버가 자동으로 설치되지는 않으므로 직접 설치하는 과정이 필요하다.

다음 두 명령을 실행해 공개된 yaml 파일을 사용하여 metrics-server 사용할 수 있도록 yaml 파일을 적용한다.

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml

여기까지 실행하면 metrics 서버는 돌지만 kubelet 에 접근해 포드와 노드의 정보를 얻어오지 못하는 현상이 일어난다.

$ k top nodes error: metrics not available yet

이 현상은 tls 통신이 제대로 이뤄지지 않기 때문이므로 다음과 같이 metrics 서버의 내용을 수정하여 서버 통신이 원활하게 할 수 있도록 옵션을 바꾼다.

메트릭스 디플로이의 설정을 변경하기 위해 다음 명령어 실행한다.

kubectl edit deployments.apps -n kube-system metrics-server

 

yaml 파일 내부에서 args를 찾아가서 다음 설정 두 개 추가한다.

(참고한 사이트: https://github.com/kubernetes-sigs/metrics-server/issues/300)

아규먼트
설명
- --kubelet-insecure-tls
인증서가 공인 기관에 승인 받지 않은 안전하지 않기 때문에 보안적으로 취약하지만 무시하겠다는 의미
- --kubelet-preferred-address-types=InternalIP
kubelet 연결에 사용할 때 사용하는 주소 타입을 지정

추가된 다음의 모습은 다음과 같다. 기존의 옵션은 유지하도록 한다.

<앞 부분 생략>
spec:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-insecure-tls # 추가된 옵션
- --kubelet-preferred-address-types=InternalIP # 추가된 옵션
<뒷 부분 생략>

 

정보 수집에 시간이 걸리므로 1분 정도 지난 후 포드와 노드의 리소스를 요청하면 정상적으로 리소스를 모니터링 할 수 있다.

포드의 리소스 질의를 해보자.

 


$ k top pod -n kube-system
NAME                              CPU(cores)   MEMORY(bytes)   
coredns-6955765f44-cfn8r          2m           21Mi            
coredns-6955765f44-qvw44          1m           16Mi            
etcd-master                       9m           47Mi            
kube-apiserver-master             19m          325Mi           
kube-controller-manager-master    4m           54Mi            
kube-proxy-9whjc                  1m           19Mi            
kube-proxy-d8cnw                  1m           17Mi            
kube-proxy-lnvvm                  1m           24Mi            
kube-scheduler-master             2m           22Mi            
metrics-server-6ffdb54684-v4tpv   1m           12Mi            
weave-net-7c9fc                   1m           59Mi            
weave-net-7qtwm                   1m           74Mi            
weave-net-dk9vb                   1m           65Mi    

 

 

다음은 nodes의 리소스를 질의해보자.

$ k top nodes
NAME     CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master   175m         8%     2880Mi          75%       
work1    29m          1%     2653Mi          69%       
work2    21m          1%     2319Mi          60% 

메트릭스 서버가 잘 동작한다.

 

 

반응형
그리드형

댓글