본문으로 건너뛰기

메트릭 서버 설치

런타임 환경 - 실시간 모니터링 탭

HPA(자동 스케일링)를 사용하거나 Pod의 리소스 사용량을 모니터링하고 싶으신가요? 그렇다면 먼저 Metrics Server를 설치해야 합니다.

왜 Metrics Server가 필요할까요?

Kubernetes는 기본적으로 Pod의 CPU/메모리 사용량을 추적하지 않습니다. Metrics Server를 설치하면 이 정보를 수집하여 HPA, 대시보드, kubectl top 명령 등에서 사용할 수 있습니다.

Metrics Server란?

Metrics Server는 Kubernetes 클러스터의 리소스 사용량 데이터를 수집하고 제공하는 공식 컴포넌트입니다. 쉽게 말해 "클러스터의 건강 검진 도구"입니다.

주요 기능

Metrics Server가 제공하는 핵심 기능들입니다.

  • 노드 리소스 모니터링: 클러스터 내 각 노드의 CPU 및 메모리 사용량을 실시간으로 수집합니다. 노드별 리소스 현황을 파악하여 용량 계획에 활용할 수 있습니다.

  • Pod 리소스 모니터링: 각 Pod의 CPU 및 메모리 사용량을 수집합니다. 어떤 애플리케이션이 리소스를 많이 사용하는지 분석할 수 있습니다.

  • HPA(Horizontal Pod Autoscaler) 지원: Metrics Server가 제공하는 데이터를 기반으로 HPA가 Pod 수를 자동 조정합니다. Metrics Server 없이는 HPA가 작동하지 않습니다.

  • kubectl top 명령어 지원: kubectl top nodeskubectl top pods 명령어로 터미널에서 직접 리소스 사용량을 확인할 수 있습니다.

Metrics Server가 필요한 경우
  • KIWI 대시보드에서 리소스 사용량 확인이 필요할 때
  • HPA(자동 스케일링)를 사용하고 싶을 때
  • 리소스 기반 스케줄링이 필요할 때
  • 운영 모니터링을 구축하고 싶을 때

사전 요구사항

설치를 시작하기 전에 다음 사항을 확인하세요.

  • Kubernetes 클러스터가 KIWI에 등록되어 있어야 합니다.
  • 클러스터 관리자 권한이 필요합니다.
권한 안내

이 기능에 접근할 수 없다면 기관 관리자에게 권한을 요청하세요.


Step 1: 런타임 환경 페이지 이동

먼저 설치할 클러스터를 선택합니다.

  1. 좌측 메뉴에서 [런타임 환경] 을 클릭합니다.
  2. Metrics Server를 설치할 Kubernetes 클러스터를 찾습니다.
  3. 클러스터 이름을 클릭하여 상세 페이지로 이동합니다.
여러 클러스터가 있다면

각 클러스터마다 별도로 Metrics Server를 설치해야 합니다.


Step 2: 모니터링 탭 확인

  1. 클러스터 상세 페이지에서 모니터링 탭을 클릭합니다.
  2. 메트릭 서버 상태를 확인합니다:
    • 설치됨: 이미 메트릭 서버가 설치된 상태
    • 미설치: 메트릭 서버 설치 필요

미설치 시 표시되는 정보

메트릭 서버가 설치되지 않은 경우:

  • 노드/Pod 리소스 사용량이 "N/A"로 표시됩니다.
  • 메트릭 서버 설치 버튼이 활성화됩니다.
  • kubectl top 명령 실행 시 오류가 발생합니다.

Step 3: 메트릭 서버 설치

3.1 설치 버튼 클릭

  1. 메트릭 서버 설치 버튼을 클릭합니다.
  2. 설치 확인 대화상자가 표시됩니다.

3.2 설치 옵션 확인

설치 전 다음 옵션을 확인합니다:

  • 버전: 설치할 metrics-server 버전을 선택합니다. 기본적으로 최신 안정 버전이 선택되어 있으며, 특별한 이유가 없으면 기본값을 사용하는 것을 권장합니다.
  • TLS 인증서 검증: 자체 서명 인증서를 사용하는 환경에서는 비활성화해야 합니다. 기본값은 비활성화 상태이며, 공인 인증서를 사용하는 환경에서는 활성화할 수 있습니다.
  • 리소스 요청: metrics-server Pod에 할당할 리소스입니다. 기본값은 CPU 100m, Memory 200Mi로 설정되어 있으며, 대규모 클러스터에서는 증가가 필요할 수 있습니다.

3.3 설치 실행

  1. 설치 버튼을 클릭합니다.
  2. 설치 진행 상황이 표시됩니다:
    • kube-system 네임스페이스에 배포
    • ServiceAccount 및 RBAC 생성
    • Deployment 생성
    • Service 생성

3.4 설치 완료 확인

설치가 완료되면:

  • "메트릭 서버가 설치되었습니다" 메시지가 표시됩니다.
  • 상태가 설치됨으로 변경됩니다.
  • 1-2분 후 리소스 사용량 데이터가 수집됩니다.

Step 4: 설치 확인

4.1 KIWI에서 확인

  1. 모니터링 탭에서 노드 리소스 사용량 확인
  2. 각 노드의 CPU, 메모리 사용률이 표시되는지 확인
  3. 서비스 운영 화면에서 Pod 리소스 확인

4.2 kubectl로 확인 (선택사항)

클러스터에 직접 접근 가능한 경우:

# 메트릭 서버 Pod 상태 확인
kubectl get pods -n kube-system | grep metrics-server

# 노드 리소스 확인
kubectl top nodes

# Pod 리소스 확인
kubectl top pods --all-namespaces

정상 출력 예시:

NAME           CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
node-1 250m 12% 1024Mi 25%
node-2 180m 9% 768Mi 19%

설치 후 활용

KIWI 대시보드에서 확인

메트릭 서버 설치 후 KIWI에서 확인할 수 있는 정보:

  • 노드 탭: 각 노드의 CPU/메모리 사용량
  • 서비스 운영: 각 Pod의 리소스 사용량
  • 대시보드: 클러스터 전체 리소스 현황

HPA 설정 (자동 스케일링)

메트릭 서버가 설치되면 HPA를 사용할 수 있습니다:

  1. 서비스 배포 설정에서 HPA 활성화 옵션 선택
  2. 스케일링 조건 설정:
    • 최소/최대 레플리카 수
    • CPU 사용률 임계값
    • 메모리 사용률 임계값

문제 해결

설치 실패

  • 권한 오류가 발생하는 경우: RBAC 권한이 부족하여 metrics-server 리소스를 생성할 수 없습니다. KIWI가 사용하는 ServiceAccount에 클러스터 관리자 권한이 있는지 확인하세요.
  • 네트워크 오류가 발생하는 경우: metrics-server 이미지를 다운로드할 수 없습니다. 클러스터 노드가 인터넷에 연결되어 있는지, 또는 프라이빗 레지스트리 설정이 올바른지 확인하세요.
  • 타임아웃이 발생하는 경우: 클러스터가 응답하지 않습니다. 런타임 환경 페이지에서 클러스터 연결 상태를 확인하고, API 서버가 정상 작동하는지 점검하세요.

설치 후 데이터 없음

  • 원인: 메트릭 수집에 시간이 필요합니다 (1-2분)
  • 확인: metrics-server Pod가 Running 상태인지 확인
  • 조치: 잠시 후 새로고침

metrics-server Pod가 CrashLoopBackOff 상태

자체 서명 인증서를 사용하는 환경에서 발생할 수 있습니다:

  1. KIWI에서 재설치 버튼 클릭
  2. TLS 인증서 검증 비활성화 옵션 선택
  3. 재설치 실행

특정 노드만 데이터 없음

  • 원인: kubelet 통신 문제
  • 확인: 해당 노드의 네트워크 상태 확인
  • 조치: 노드 방화벽에서 10250 포트 허용

메트릭 서버 삭제

더 이상 메트릭 서버가 필요하지 않은 경우:

  1. 모니터링 탭에서 메트릭 서버 삭제 버튼 클릭
  2. 확인 대화상자에서 삭제 클릭
  3. 관련 리소스가 모두 삭제됩니다.

삭제 후 영향:

  • 리소스 사용량 데이터가 "N/A"로 표시됩니다.
  • HPA가 작동하지 않습니다.
  • kubectl top 명령이 실패합니다.

관련 가이드