実行中のコンテナのリソース使用状況とパフォーマンスデータを収集・集約・公開する、Web UIとREST APIを備えたGo製デーモン。
kubernetes-sigs/metrics-server
Metrics API経由で提供され、Kubernetesのオートスケーリングに使われる、コンテナのCPU・メモリメトリクスをスケーラブルに収集する仕組み。
- スター
- 6,763
- フォーク
- 2,054
- 未解決の Issue
- 68
- 最終コミット
- 9 日前
これは何?
Metrics ServerはKubeletからリソースメトリクスを収集し、Metrics APIを介してKubernetes apiserverに公開します。Horizontal Pod AutoscalerとVertical Pod Autoscalerはこのデータを使ってスケーリングを判断し、kubectl topは同じAPIからポッドやノードの使用状況を表示します。
汎用的な監視ではなく、オートスケーリング専用に設計されています。監視システムへのデータ転送が目的の場合は、Kubeletの/metrics/resourceエンドポイントから直接メトリクスを収集することを推奨しています。単一の軽量なデプロイを想定しており、デフォルトのリソースリクエストは約100ノードまでのクラスターに適しています。それを超える規模へのスケーリング方法も案内されています。
クラスターでは、apiserver aggregation layer、Kubelet webhook authentication and authorizationを有効にし、クラスターCAによって署名されたKubelet証明書を使うか、明示的にinsecure-TLSフラグを指定する必要があります。YAMLマニフェストまたは公式Helm chartでインストールでき、複数ノードのクラスター向けに高可用性モードも用意されています。
主な機能
- 01Kubeletから15秒ごとにCPUとメモリの使用量を収集します。
- 02標準のKubernetes Metrics APIを通じて、ポッドとノードのメトリクスを公開します。
- 03Horizontal Pod AutoscalerとVertical Pod Autoscalerのスケーリング判断にデータを提供します。
- 04kubectl topを使ってリソース使用状況を手軽に確認できます。
- 05複数のレプリカによる高可用性モードに対応しています。
- 06Kubeletのアドレス種別とTLSオプションを設定できます。
ユースケース
- CPUまたはメモリの使用率に基づいてDeploymentを水平スケーリングする。
- コンテナのリソースリクエストに関する適切な値の提案を得る。
- kubectl topを使ってオートスケーリングの挙動を調査する。
- 中規模のKubernetesクラスターで軽量なメトリクス収集基盤を運用する。
クイックスタート
- 1
components.yaml マニフェストから最新リリースをインストールします
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml - 2
少し待ってから kubectl top でメトリクスを確認します
kubectl top pods
使う前に知っておきたいこと
- 有効な aggregation layer や、クラスター CA によって署名された kubelet 証明書など、特定のクラスター設定が必要です。
- オートスケーリング専用に設計されています。README では、監視用のメトリクスソースとして使用しないよう記載されています。
- デフォルトのリソースリクエストは約 100 ノードまでを想定して調整されています。それより大きなクラスターでは、より多くのリソースが必要です。
収録されている特集
トピック
よくある質問
- metrics-server とは?
- Metrics API経由で提供され、Kubernetesのオートスケーリングに使われる、コンテナのCPU・メモリメトリクスをスケーラブルに収集する仕組み。 Metrics ServerはKubeletからリソースメトリクスを収集し、Metrics APIを介してKubernetes apiserverに公開します。Horizontal Pod AutoscalerとVertical Pod Autoscalerはこのデータを使ってスケーリングを判断し、kubectl topは同じAPIからポッドやノードの使用状況を表示します。
- metrics-server は無料で使えますか?ライセンスは?
- metrics-server は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- metrics-server は今もメンテナンスされていますか?
- 活発にメンテナンス中。metrics-server の最終コミットは 2026年10月16日 です。
- metrics-server は何に使えますか?
- CPUまたはメモリの使用率に基づいてDeploymentを水平スケーリングする。 コンテナのリソースリクエストに関する適切な値の提案を得る。 kubectl topを使ってオートスケーリングの挙動を調査する。 中規模のKubernetesクラスターで軽量なメトリクス収集基盤を運用する。
- metrics-server のインストール方法は?
- components.yaml マニフェストから最新リリースをインストールします: kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml 少し待ってから kubectl top でメトリクスを確認します: kubectl top pods
- metrics-server はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/kubernetes-sigs/metrics-server
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
秒単位のメトリクス収集、自動検出、組み込みのML異常検知とアラート機能を備えた、オープンソースのリアルタイムインフラ監視エージェント。
Kubernetes API serverを監視し、Pod、Deployment、Nodeなどのオブジェクトの状態を表すPrometheusメトリクスを公開するアドオンサービスです。
Prometheusとの連携を念頭に設計された、メトリクス、ログ、トレース、プロファイルに対応する、式ベースでプログラム可能なパイプラインを備えたOpenTelemetry Collectorディストリビューション。
Kubernetesのノードを自動でスケールし、PodのCPU・メモリ要求量を調整するコンポーネント群。
多様なデータソースのメトリクス、ログ、トレースをクエリ、可視化、アラート通知、探索できるオープンソースプラットフォーム。