kubernetes

metrics-server 배포

misankim 2023. 3. 6. 23:55
metrics-server 배포

 

eks 가이드

 

공식 github

 

# 배포

 

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

 

#########################################################



## 리소스 사용 확인

 

리소스 사용을 확인하기 위해서는 리소스 메트릭을 수집하는 metrics-server apiservice가 설치되어야함

 

### metrics-server 배포

 

helm 설치가 안되어 있으면 먼저 설치할 것

 

kubectl create namespace metrics

 

설치
helm install metrics-server stable/metrics-server --version 2.9.0 -n metrics

 

확인
kubectl get all -n metrics

 

kubectl get apiservice v1beta1.metrics.k8s.io -o yaml

 

### 리소스 사용 확인

 

kubectl top node
kubectl top pod
kubectl top pod --all-namespaces



(참고) metrics-server 배포 후 kubectl top node 명령어 수행 시 에러 케이스

 

### no such host 에러 발생 시 k8s가 구축된 AWS VPC 에 DNS 호스트 이름 편집 활성화

 

lookup ip-172-16-0-114.ap-northeast-1.compute.internal on 10.96.0.10:53: no such host

 

### x509: certificate 에러 발생 시 metrics-server deploy 에 --kubelet-insecure-tls 옵션 추가

 

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


unable to fully collect metrics ... 중략 ... x509: certificate signed by unknown authority

 

해결하려면 자체서명 인증서 관련 옵션 추가

 

kubectl edit deploy metrics-server -n metrics



      containers:
      - command:
        - /metrics-server
        - --cert-dir=/tmp
        - --logtostderr
        - --secure-port=8443
        - --kubelet-insecure-tls



포드 새로 생성 후 잠시 후 다시 kubectl top node 해보기