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