

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 监控 Amazon EMR on EKS 的垂直自动扩展
<a name="jobruns-vas-monitor"></a>

您可以使用 **kubectl** Kubernetes 命令行工具列出集群上与垂直自动扩缩相关的有效建议。您还可以查看跟踪的任务签名，清除与签名关联的所有不需要的资源。



## 列出集群的垂直自动扩展建议
<a name="jobruns-vas-monitor-list"></a>

使用 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
```

## 查询并删除集群的垂直自动扩展建议
<a name="jobruns-vas-monitor-query"></a>

删除 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
```

如果不知道具体的任务签名，或者想要清除集群上的所有资源，则可以在命令中使用 `--all` 或 `--all-namespaces` 代替唯一的任务 ID，示例如下：

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