Kubernetes メトリクスサーバーでのリソース使用状況の表示
Kubernetes メトリクスサーバーは、クラスター内のリソース使用状況データを集約し、デフォルトでは Amazon EKS クラスターにデプロイされません。詳細については、GitHub の「Kubernetes メトリクスサーバー
重要
メトリクスはポイントインタイム分析を目的としており、履歴分析の正確なソースではありません。監視ソリューションとして、またはその他の自動スケーリング以外の目的には使用できません。監視ツールの詳細については、「クラスターのパフォーマンスをモニタリングし、ログを表示する」を参照してください。
-
次のコマンドを使用してメトリクスサーバーをデプロイします。
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Fargate を使用している場合は、このファイルを変更する必要があります。デフォルト設定では、メトリクスサーバーはポート 10250 を使用します。このポートは Fargate で予約されています。components.yaml のポート 10250 への参照を 10251 などの別のポートに置き換えます。
-
次のコマンドを使用して、
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
-
ノードのリソース (CPU/メモリ) 使用状況を表示して、メトリクスサーバーが動作しているかテストします。
kubectl top nodes
-
エラーメッセージ
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 へのアクセス権を付与する方法について説明します。