
리소스 사용량 확인을 위해 kubectl top 명령어를 사용하게 되면 metric 서버가 없을 경우 다음과 같은 에러가 발생한다.
kevin@k8s-master:~$ kubectl top no
error: Metrics API not available
메트릭 서버를 설치하여 해결할 수 있다.
1. Metric Server 설치
# metric-server 설치
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

2. 에러 발생시 해결 방법
[에러 1]
( Readiness probe failed: HTTP probe fail )
아래의 명령어로 metric server의 deploy의 yaml 파일로 들어간다.
kubectl edit deploy -n kube-system metrics-server
Deployment / metrics-server 에서 아래의 사진과 같이 --kubelet-insecure-tls args 를 추가해주면 해결가능하다.

[에러 2]
( Error from server (ServiceUnavailable): the server is currently unable to
handle the request (get nodes.metrics.k8s.io)
아래의 명령어로 metric server의 deploy의 yaml 파일로 들어간다.
kubectl edit deploy -n kube-system metrics-server
spec.template.spec 부분에 hostNetwork: true 를 추가해준다. (약 88번째 줄)

3. Enjoy kubectl top

정상적으로 metric 서버를 설치하여 top 명령어를 사용할수 있게 된다!
'Kubernetes (k8s)' 카테고리의 다른 글
[k8s] Deploy & Pod Scale (1) | 2023.04.24 |
---|---|
[k8s] Persistent Volume (1) | 2023.04.20 |
[k8s] Static Pod (0) | 2023.04.17 |
[k8s] Node resource usage, Pods and their containers resource usage 리소스 사용량 조회 (2) | 2023.04.13 |
[k8s] Security (2) | 2023.04.10 |
댓글