繁体   English   中英

Kubernetes (GKE/AWS/Azure) 大型作业扩展

[英]Kubernetes (GKE/AWS/Azure) Scaling for Large Jobs

我正在寻找一些建议,如果有人能够指出我正确的方向,我将永远感激。

我有一个 docker 容器,用于跨视频帧集进行基于机器学习的对象检测/跟踪。 目前,我使用这个 docker 容器启动了一个 ec2 实例,然后以串行方式发送大约 30 帧的批次。 当然,这太慢了。

我想建立一个 kubernetes 系统,它可以从零运行容器到 50+,然后立即降低到最低要求。 由于模型大小,每个容器需要大约 8 Gb 的 RAM,但可以在 CPU 上运行。 我需要这些运行大约一分钟来并行处理传入的图像,然后终止,在视频处理完成后缩小到零活动容器。 总之,将 30 帧的小批量发送到集群,使其大规模扩展,然后在完成后立即缩小。

我能够在谷歌云上设置一个 kubernetes 集群,但我不知道如何在作业终止后让它快速缩小到零。 在工作完成后运行这么多容器将是非常昂贵的。

有人能指出我正确的方向吗? 我可以用 gke 做到这一点吗? 我应该尝试其他服务吗?

非常感谢您的帮助。

N

如果我已经清楚地理解您的任务,那么您正在寻找的Kubernetes 并行处理 借助 K8S 的这一特性,您可以运行具有多个并行运行的 Pod 的特定作业,并且这些 Pod 在作业完成时终止。

您可以从以下文档链接中阅读更多内容 -

https://kubernetes.io/docs/tasks/job/parallel-processing-expansion/

https://kubernetes.io/docs/tasks/job/fine-parallel-processing-work-queue/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM