Repolode
kubernetes

kubernetes/kube-state-metrics

API 서버를 감시하고 파드, 디플로이먼트, 노드 같은 객체의 상태를 설명하는 Prometheus 메트릭을 제공하는 Kubernetes 애드온 서비스입니다.

스타
6,228
포크
2,199
열린 이슈
117
마지막 커밋
5일 전

어떤 프로젝트인가요?

kube-state-metrics(KSM)는 Kubernetes API 서버를 감시하고 디플로이먼트, 노드, 파드 같은 객체의 상태에 관한 메트릭을 생성합니다. Kubernetes 구성 요소 자체의 내부 상태가 아니라 클러스터 내 객체의 상태에 중점을 두며, kubectl이 표시할 때 사용하는 휴리스틱을 적용하지 않고 API의 원시 데이터를 제공합니다.

메트릭은 HTTP /metrics 엔드포인트에서 일반 텍스트로 제공되며, Prometheus 또는 호환되는 스크레이퍼가 수집하도록 설계되었습니다. 메트릭에는 현재 클러스터 상태가 반영되므로 삭제된 객체는 출력에서 사라집니다. 리소스 사용량은 클러스터 크기에 따라 증가하며, 대규모 환경이나 접근이 제한된 환경을 위해 샤딩, 리소스 필터링, RBAC를 통한 접근 제한 방법을 안내합니다.

이 프로젝트는 SIG Instrumentation에서 관리하며, 공식 Helm 차트는 prometheus-community의 helm-charts 저장소에서 관리합니다.

핵심 기능

  • 01Kubernetes API 객체에서 메트릭을 생성하며 데이터를 변형하지 않습니다.
  • 02HTTP /metrics 엔드포인트에서 Prometheus 형식으로 메트릭을 제공합니다.
  • 03객체 UID를 기준으로 한 수평 샤딩 또는 StatefulSet을 통한 자동 샤딩을 지원합니다.
  • 04resources 및 exclude_resources 쿼리 파라미터로 수집할 리소스를 필터링할 수 있습니다.
  • 05Kubernetes 레이블을 Prometheus 레이블로 변환하고, 접미사를 붙여 이름 충돌을 해결합니다.
  • 06상태 확인 엔드포인트 /healthz, /livez, /readyz를 제공합니다.

활용 사례

  • 디플로이먼트 복제본 수, 파드 상태 단계, 노드 조건을 기준으로 Prometheus 대시보드와 알림을 구축합니다.
  • 클러스터에서 실행 중인 애플리케이션을 변경하지 않고 워크로드 상태를 모니터링합니다.
  • 단일 클러스터에서 메트릭이 대량으로 생성될 때 여러 인스턴스에 메트릭 수집을 분산합니다.

빠른 시작

  1. 1

    registry.k8s.io에서 컨테이너 이미지를 Pull합니다

  2. 2

    README의 Kubernetes Deployment 또는 Helm Chart 안내에 따라 클러스터에 배포합니다

사용 전 알아둘 점

  • Kubernetes 클러스터 내부에서만 실행되며 API 서버에 액세스해야 합니다.
  • 클러스터 상태의 전체 스냅샷을 메모리에 보관하므로 일반적인 기준으로 약 250MiB 메모리와 0.1 코어가 필요합니다.
  • 기본 이벤트 메트릭으로 인해 일부 클라우드 제공업체에서 수집 비용이 높아질 수 있습니다.
  • custom-resource-state 기능은 resource-state-metrics를 우선시하기 위해 동결되었습니다.

포함된 컬렉션

토픽

자주 묻는 질문

kube-state-metrics은(는) 무엇인가요?
API 서버를 감시하고 파드, 디플로이먼트, 노드 같은 객체의 상태를 설명하는 Prometheus 메트릭을 제공하는 Kubernetes 애드온 서비스입니다. kube-state-metrics(KSM)는 Kubernetes API 서버를 감시하고 디플로이먼트, 노드, 파드 같은 객체의 상태에 관한 메트릭을 생성합니다. Kubernetes 구성 요소 자체의 내부 상태가 아니라 클러스터 내 객체의 상태에 중점을 두며, kubectl이 표시할 때 사용하는 휴리스틱을 적용하지 않고 API의 원시 데이터를 제공합니다.
kube-state-metrics은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
kube-state-metrics은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
kube-state-metrics은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. kube-state-metrics의 마지막 커밋은 2026년 10월 19일입니다.
kube-state-metrics은(는) 어디에 사용할 수 있나요?
디플로이먼트 복제본 수, 파드 상태 단계, 노드 조건을 기준으로 Prometheus 대시보드와 알림을 구축합니다. 클러스터에서 실행 중인 애플리케이션을 변경하지 않고 워크로드 상태를 모니터링합니다. 단일 클러스터에서 메트릭이 대량으로 생성될 때 여러 인스턴스에 메트릭 수집을 분산합니다.
kube-state-metrics는 어떻게 설치하나요?
registry.k8s.io에서 컨테이너 이미지를 Pull합니다 README의 Kubernetes Deployment 또는 Helm Chart 안내에 따라 클러스터에 배포합니다
kube-state-metrics은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/kubernetes/kube-state-metrics

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트