오늘도 한 뼘 더

[k8s] error: Metrics API not available 본문

DevOps & Infra/K8S(Kubernetes)

[k8s] error: Metrics API not available

나른한댕댕이🐶 2023. 1. 9. 11:11
728x90
반응형

  # 배경  

쿠버네티스의 CPU, Memory 등의 사용량 Metric을 보고 싶다. 

 

  # 문제  

metric을 보기 위해 다음 명령어를 입력하면 에러가 발생한다.

 > kubectl top nodes
 error: Metrics API not available

 

  # 원인  

Metric-server가 없어서 발생하는 문제이다. metric-server 없이는 metric을 볼 수 없다. 

 

  # 해결 방법  

## Metric-Server 설치

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

 

GitHub - kubernetes-sigs/metrics-server: Scalable and efficient source of container resource metrics for Kubernetes built-in aut

Scalable and efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines. - GitHub - kubernetes-sigs/metrics-server: Scalable and efficient source of container reso...

github.com

 

아래 명령어로 github에서 제공하는 metric-server를 다운로드하여 설치한다.

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

 

## Metric-Server 설치 후 오류

Metric-Server 설치 후 metric을 보려고 하니 다음과 같이 에러 메시지가 발생했다. 

 > kubectl top nodes
 Error from server (ServiceUnavailable): 
 the server is currently unable to handle the request (get nodes.metrics.k8s.io)

다음과 같이 config.yaml에 hostNetwork를 추가한다. 

 dnsPolicy: ClusterFirst
 hostNetwork: true		<<-- 추가
 nodeSelector:
     kubernetes.io/os: linux

 

728x90
반응형
Comments