View a markdown version of this page

Kubernetes Metrics Server でのリソース使用状況の表示 - Amazon EKS

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

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

Kubernetes Metrics Server でのリソース使用状況の表示

Kubernetes Metrics Server は、クラスター内のリソース使用状況データを集約する働きをし、デフォルトでは Amazon EKS クラスターにデプロイされません。詳細については、GitHub の「Kubernetes Metrics Server (Kubernetes メトリクスサーバー)」を参照してください。Kubernetes Metrics Server は、Scale pod deployments with Horizontal Pod Autoscaler や Kubernetes Dashboard など他の Kubernetes アドオンによってよく使用されます。詳細については、Kubernetes ドキュメントの「Resource metrics pipeline」を参照してください。このトピックでは、Kubernetes メトリクスサーバーを Amazon EKS クラスターにデプロイする方法について説明します。

重要

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

考慮事項

  • マニフェストを使用して Kubernetes メトリクスサーバーを Fargate ノードに手動でデプロイする場合は、デフォルトの 10250 以外のポートを使用するように metrics-server デプロイを設定します。このポートは Fargate で予約されています。メトリクスサーバーの Amazon EKS アドオンバージョンは、10251 ポートを使用するように事前設定されています。

  • セキュリティグループとネットワーク ACL で、metrics-server ポッドと他のすべてのノードおよびポッド間の 10250 ポートが許可されていることを確認します。Kubernetes メトリクスサーバーでは、引き続き 10250 ポートを使用してクラスター内の他のエンドポイントからメトリクスを収集します。Fargate ノードにデプロイする場合は、設定された代替メトリクスサーバーポートと 10250 ポートの両方を許可します。

Amazon EKS アドオンを使用してコミュニティアドオンとしてデプロイする

新規: AWSコンソールまたは Amazon EKS APIs Server をコミュニティアドオンとしてデプロイできるようになりました。

AWS コンソールでデプロイ

  1. AWS コンソールで EKS クラスターを開きます

  2. 「アドオン」タブから Get More Add-ons.を選択します。

  3. 「コミュニティアドオン」セクションで、メトリクスサーバーを選択し、次へを選択してください。

  4. EKS はクラスターに適したバージョンのアドオンを決定します。バージョンドロップダウン メニューを使用してバージョンを変更できます。

  5. 次へ を選択し、作成 を選択してアドオンをインストールします。

その他のリソース

コミュニティアドオン の詳細を確認してください。

コミュニティアドオンは他の Amazon EKS アドオンと同じ方法でインストールまたは更新します。

マニフェストを使用してデプロイする

新規: AWSコンソールまたは Amazon EKS APIs Server をコミュニティアドオンとしてデプロイできるようになりました。これらのマニフェストのインストール手順はアーカイブされます。

  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 デプロイで必要な数の Pod が実行されていることを確認します。

    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 へのアクセス権を付与する方法について説明します。