Repolode
kubernetes

kubernetes/kube-state-metrics

Kubernetes API serverを監視し、Pod、Deployment、Nodeなどのオブジェクトの状態を表すPrometheusメトリクスを公開するアドオンサービスです。

スター
6,228
フォーク
2,199
未解決の Issue
117
最終コミット
5 日前

これは何?

kube-state-metrics(KSM)はKubernetes API serverを監視し、Deployment、Node、Podなどのオブジェクトの状態に関するメトリクスを生成します。Kubernetesコンポーネント自体の内部状態ではなく、クラスター内のオブジェクトの健全性に焦点を当てています。また、kubectlが表示時に用いるヒューリスティックを適用せず、APIから取得した生データを公開します。

メトリクスはHTTPの/metricsエンドポイントでプレーンテキストとして提供され、Prometheusまたは互換性のあるスクレイパーによる収集を想定しています。メトリクスはクラスターの現在の状態を反映するため、削除されたオブジェクトは出力から消えます。リソース使用量はクラスターの規模に応じて増加します。大規模環境やアクセス制限のある環境に向けて、シャーディング、リソースのフィルタリング、RBACによるアクセス制限のガイダンスも提供しています。

このプロジェクトはSIG Instrumentationのもとでメンテナンスされており、公式Helm chartはprometheus-communityのhelm-chartsリポジトリでメンテナンスされています。

主な機能

  • 01Kubernetes APIオブジェクトから、加工せずにメトリクスを生成します。
  • 02Prometheus形式のメトリクスをHTTPの/metricsエンドポイントで公開します。
  • 03オブジェクトUIDによる水平シャーディングと、StatefulSetによる自動シャーディングに対応しています。
  • 04resourcesおよびexclude_resourcesクエリパラメーターで、スクレイピング対象のリソースを絞り込めます。
  • 05KubernetesのラベルをPrometheusラベルに変換し、名前の衝突はサフィックスで解決します。
  • 06/healthz、/livez、/readyzのヘルスエンドポイントを提供します。

ユースケース

  • Deploymentのレプリカ数、Podのフェーズ、Nodeの状態に関する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 とは?
Kubernetes API serverを監視し、Pod、Deployment、Nodeなどのオブジェクトの状態を表すPrometheusメトリクスを公開するアドオンサービスです。 kube-state-metrics(KSM)はKubernetes API serverを監視し、Deployment、Node、Podなどのオブジェクトの状態に関するメトリクスを生成します。Kubernetesコンポーネント自体の内部状態ではなく、クラスター内のオブジェクトの健全性に焦点を当てています。また、kubectlが表示時に用いるヒューリスティックを適用せず、APIから取得した生データを公開します。
kube-state-metrics は無料で使えますか?ライセンスは?
kube-state-metrics は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
kube-state-metrics は今もメンテナンスされていますか?
活発にメンテナンス中。kube-state-metrics の最終コミットは 2026年10月19日 です。
kube-state-metrics は何に使えますか?
Deploymentのレプリカ数、Podのフェーズ、Nodeの状態に関する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 の数値は毎日更新されます。

関連プロジェクト