

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

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

# Kubernetes Metrics Server でのリソース使用状況の表示
<a name="metrics-server"></a>

Kubernetes Metrics Server は、クラスター内のリソース使用状況データを集約する働きをし、デフォルトでは Amazon EKS クラスターにデプロイされません。詳細については、GitHub の「[Kubernetes Metrics Server (Kubernetes メトリクスサーバー)](https://github.com/kubernetes-sigs/metrics-server)」を参照してください。Kubernetes Metrics Server は、[Scale pod deployments with Horizontal Pod Autoscaler](horizontal-pod-autoscaler.md) や [Kubernetes Dashboard](eks-managing.md) など他の Kubernetes アドオンによってよく使用されます。詳細については、Kubernetes ドキュメントの「[Resource metrics pipeline](https://kubernetes.io/docs/tasks/debug/debug-cluster/resource-metrics-pipeline/)」を参照してください。このトピックでは、Kubernetes メトリクスサーバーを Amazon EKS クラスターにデプロイする方法について説明します。

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

## 考慮事項
<a name="_considerations"></a>
+ マニフェストを使用して Kubernetes メトリクスサーバーを Fargate ノードに手動でデプロイする場合は、デフォルトの `10250` 以外のポートを使用するように `metrics-server` デプロイを設定します。このポートは Fargate で予約されています。メトリクスサーバーの Amazon EKS アドオンバージョンは、`10251` ポートを使用するように事前設定されています。
+ セキュリティグループとネットワーク ACL で、`metrics-server` ポッドと他のすべてのノードおよびポッド間の `10250` ポートが許可されていることを確認します。Kubernetes メトリクスサーバーでは、引き続き `10250` ポートを使用してクラスター内の他のエンドポイントからメトリクスを収集します。Fargate ノードにデプロイする場合は、設定された代替メトリクスサーバーポートと `10250` ポートの両方を許可します。

## Amazon EKS アドオンを使用してコミュニティアドオンとしてデプロイする
<a name="_deploy_as_community_add_on_with_amazon_eks_add_ons"></a>

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

### AWS コンソールでデプロイ
<a name="deploy_with_shared_aws_console"></a>

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

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

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

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

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

### その他のリソース
<a name="_additional_resources"></a>

[コミュニティアドオン](community-addons.md) の詳細を確認してください。

コミュニティアドオンは他の Amazon EKS アドオンと同じ方法でインストールまたは更新します。
+  [Amazon EKS アドオンを作成する](creating-an-add-on.md) 
+  [Amazon EKS アドオンを更新する](updating-an-add-on.md) 
+  [クラスターから Amazon EKS アドオンを削除する](removing-an-add-on.md) 

## マニフェストを使用してデプロイする
<a name="_deploy_with_manifest"></a>

 **新規: 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 などの別のポートに置き換えます。

1. 次のコマンドを使用して、`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
   ```

1. ノードのリソース (CPU/メモリ) 使用状況を表示して、メトリクスサーバーが動作しているかテストします。

   ```
   kubectl top nodes
   ```

1. エラーメッセージ `Error from server (Forbidden)` が表示された場合はKubernetes RBAC 設定を更新する必要があります。Kubernetes RBAC ID にはクラスターメトリクスを読み取るための十分なアクセス許可が必要です。[メトリクスを読み取るために必要な最低限の Kubernetes API アクセス許可](https://github.com/kubernetes-sigs/metrics-server/blob/e285375a49e3bf77ddd78c08a05aaa44f2249ebd/manifests/base/rbac.yaml#L5C9-L5C41)を GitHub で確認します。[役割などの AWS IAM ID に Kubernetes API へのアクセス権を付与する](grant-k8s-access.md#authentication-modes)方法について説明します。