Kubernetes メトリクスサーバーでのリソース使用状況の表示 - Amazon EKS

Kubernetes メトリクスサーバーでのリソース使用状況の表示

Kubernetes メトリクスサーバーは、クラスター内のリソース使用状況データを集約し、デフォルトでは Amazon EKS クラスターにデプロイされません。詳細については、GitHub の「Kubernetes メトリクスサーバー」を参照してください。メトリクスサーバーは、「Horizontal Pod Autoscaler を使用してポッドデプロイをスケールする」や「Kubernetes ダッシュボード」などの他の 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 には、クラスターメトリクスを読み取るための十分なアクセス許可が必要です。GitHub の https://github.com/kubernetes-sigs/metrics-server/blob/e285375a49e3bf77ddd78c08a05aaa44f2249ebd/manifests/base/rbac.yaml#L5C9-L5C41[メトリクスを読み取るために必要な最低限の Kubernetes API アクセス許可] を確認してください。ロールなどの AWS IAM ID に Kubernetes API へのアクセス権を付与する方法について説明します。