监控 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

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

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