nayoungs
항상 끈기있게
nayoungs
  • 분류 전체보기 (276)
    • Cloud (21)
      • AWS (15)
      • Azure (3)
      • NCP (2)
      • GCP (1)
    • DevOps (69)
      • Container (17)
      • Kubernetes (50)
      • CICD (2)
    • IaC (25)
      • Ansible (17)
      • Terraform (8)
    • Certification (4)
    • 금융 IT (5)
    • AI (3)
    • Linux (47)
    • 미들웨어 (5)
    • Programming (7)
      • GoLang (3)
      • Spring (4)
    • CS (25)
      • 네트워크 (17)
      • 운영체제 (5)
      • Web (1)
      • 개발 상식 (2)
      • 데이터베이스 (0)
    • Algorithm (59)
      • 프로그래머스 (36)
      • 백준 (18)
      • 알고리즘 정리 (5)
    • ETC (6)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
nayoungs

항상 끈기있게

DevOps/Kubernetes

[Kubernetes] k8s Monitoring : Metrics-Server

2022. 6. 6. 03:02
728x90

 

📌Index

  • Metrics-Server란?
  • Metrics-Server 설치하기



✔️ Metrics-Server란?

쿠버네티스의 Metrics-Server는 각 노드에 설치된 kubelet을 통해

node 및 pod의 CPU, Memory의 사용량 Metric을 수집한다.

과거에는 Heapster를 사용했으나, 더 이상 개발되고 있지 않기 때문에(지원 중단)

이를 대체하는 Metrics-Server를 사용한다.

 

Metrics-Server가 있어야 kubectl top 명령어를 사용하여 CPU/메모리 사용량 등을 확인할 수 있으며,

HPA(Horizontal Pod Autoscaler) 및 VPA(Vertical Pod Autoscaler)을 사용할 수 있다.



✔️ Metrics-Server 설치하기

다음 명령을 사용하여 Metrics Server를 배포한다.

 

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

 

다음 명령을 통해 metrics-server deployment에서 원하는 수의 Pod를 실행하고 있는지 확인한다.

 

$ kubectl get deployment metrics-server -n kube-system
NAME             READY   UP-TO-DATE   AVAILABLE   AGE
metrics-server   1/1     1            1           68m
$ kubectl get po -n kube-system
NAME                                  READY   STATUS    RESTARTS   AGE
...
metrics-server-64cf6869bd-cgw8l       1/1     Running   0          4m46s

 

kubecto top 명령어로 metrics-server가 정상적으로 작동하는 것을 확인할 수 있다.

 

$ kubectl top nodes
NAME                                                 CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
ip-192-168-111-4.ap-northeast-2.compute.internal     58m          3%     630Mi           18%
ip-192-168-135-92.ap-northeast-2.compute.internal    53m          2%     604Mi           18%
ip-192-168-167-186.ap-northeast-2.compute.internal   49m          2%     571Mi           17%

 

 

☁️ 참고

 

만약, kubespray로 kubernetes 환경을 구성한다면

Ansible을 사용하여 addon으로 metrics-server를 구성하는 방법은 다음과 같다.

 

~/kubespray/inventory/mycluster/group_vars/k8s-cluster/addons.yml 파일을 다음과 같이 수정한다.

 16 metrics_server_enabled: true

플레이북을 실행하여 적용한다.

ansible-playbook -i inventory/mycluster/inventory.ini cluster.yml



kubespray를 통한 kubernetes 환경 및 addon을 구성하는 내용은 다음 포스팅을 통해 확인할 수 있다.

  • Kuberspray로 쿠버네티스 설치하기
  • Kubernetes Ingress란?

 

 

 

Reference

더보기
  • https://potato-yong.tistory.com/150
  • https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/metrics-server.html



728x90
저작자표시 비영리 (새창열림)
    'DevOps/Kubernetes' 카테고리의 다른 글
    • [Kubernetes] k8s HA(고가용성) 클러스터 구축하기 : stacked etcd
    • [Kubernetes] AWS EKS : Cluster Autoscaling 및 Container Insights 설정
    • [Kubernetes] AWS EKS : EBS CSI(Container Storage Interface) Driver 설치하기
    • [Kubernetes] k8s Logging : EFK 개요 및 설치
    nayoungs
    nayoungs
    안되면 될 때까지

    티스토리툴바