Amazon EMR on EKS の垂直的自動スケーリングをモニタリングする - Amazon EMR

Amazon EMR on EKS の垂直的自動スケーリングをモニタリングする

kubectl Kubernetes コマンドラインツールを使用して、クラスター上のアクティブな垂直的自動スケーリング関連のレコメンデーションを一覧表示できます。また、追跡したジョブの署名を表示したり、その署名に関連する不要なリソースを削除したりすることもできます。

クラスターの垂直的自動スケーリングのレコメンデーションを一覧表示する

kubectl を使用して verticalpodautoscaler リソースを取得し、現在のステータスとレコメンデーションを表示します。以下のクエリ例は、Amazon EKS クラスターのすべてのアクティブなリソースを返します。

kubectl get verticalpodautoscalers \ -o custom-columns="NAME:.metadata.name,"\ "SIGNATURE:.metadata.labels.emr-containers\.amazonaws\.com/dynamic\.sizing\.signature,"\ "MODE:.spec.updatePolicy.updateMode,"\ "MEM:.status.recommendation.containerRecommendations[0].target.memory" \ --all-namespaces

このクエリの出力は以下のようになります。

NAME SIGNATURE MODE MEM ds-example-id-1-vpa job-signature-1 Off none ds-example-id-2-vpa job-signature-2 Initial 12936384283

クラスターの垂直的自動スケーリングのレコメンデーションをクエリして削除します。

Amazon EMR 垂直的自動スケーリングジョブ実行リソースを削除すると、レコメンデーションを追跡して保存する関連付けられた VPA オブジェクトが自動的に削除されます。

以下の例では、kubectl を使用して、署名で識別されるジョブのレコメンデーションを削除します。

kubectl delete jobrun -n emr -l=emr-containers\.amazonaws\.com/dynamic\.sizing\.signature=integ-test jobrun.dynamicsizing.emr.services.k8s.aws "ds-job-signature" deleted

特定のジョブの署名がわからない場合や、クラスター上のリソースをすべて削除したい場合は、以下の例のように、一意のジョブ ID の代わりに --all または --all-namespaces をコマンドで使用できます。

kubectl delete jobruns --all --all-namespaces jobrun.dynamicsizing.emr.services.k8s.aws "ds-example-id" deleted