KubernetesMetrics Server でリソースの使用状況を表示する - Amazon EKS

このページの改善にご協力ください

本ユーザーガイドの改善にご協力いただけませんか? このページの下部までスクロールし、[GitHub でこのページの編集] を選択します。皆さまにご協力いただくことで、あらゆる人々に使いやすいユーザーガイドになります。

KubernetesMetrics Server でリソースの使用状況を表示する

Kubernetes メトリクスサーバーは、クラスター内のリソース使用状況データを集約し、デフォルトでは Amazon EKS クラスターにデプロイされません。詳細については、「GitHub」の「Kubernetes メトリクスサーバー」を参照してください。メトリクスサーバーは一般的に、他の Kubernetes アドオン Horizontal Pod Autoscaler を使用してポッドデプロイをスケールするKubernetes ダッシュボード などによって使用されます。詳細については、「Kubernetes ドキュメント」の「リソースメトリクスパイプライン」を参照してください。このトピックでは、Kubernetes メトリクスサーバーを Amazon EKS クラスターにデプロイする方法について説明します。

重要

メトリクスはポイントインタイム分析を目的としており、履歴分析の正確なソースではありません。監視ソリューションとして、またはその他の自動スケーリング以外の目的には使用できません。監視ツールの詳細については、「クラスターのパフォーマンスをモニタリングし、ログを表示する」を参照してください。

メトリクスサーバーをデプロイする
  1. 次のコマンドを使用してメトリクスサーバーをデプロイします。

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

    Fargate を使用している場合は、このファイルを変更する必要があります。デフォルト設定では、メトリクスサーバーはポート 10250 を使用します。このポートは Fargate で予約されています。components.yaml のポート 10250 への参照を 10251 などの別のポートに置き換えます。

  2. 次のコマンドを使用して、metrics-server デプロイで必要な数の Pods が実行されていることを確認します。

    kubectl get deployment metrics-server -n kube-system

    出力例は次のとおりです。

    NAME READY UP-TO-DATE AVAILABLE AGE metrics-server 1/1 1 1 6m
  3. ノードのリソース (CPU/メモリ) 使用状況を表示して、メトリクスサーバーが動作しているかテストします。

    kubectl top nodes
  4. エラーメッセージ Error from server (Forbidden) が表示された場合は、Kubernetes RBAC 設定を更新する必要があります。Kubernetes RBAC ID には、クラスターメトリクスを読み取るための十分なアクセス許可が必要です。メトリクスを読み取るために必要な最低限の Kubernetes API アクセス許可を GitHub で確認します。ロールなどの AWS IAM ID に Kubernetes API へのアクセス権を付与する方法について説明します。