kubernetes - Kubernetes通过使用作业激活数千个Pod来实现批处理性能

标签 kubernetes kubectl

我正在谷歌云中使用Kubernetes编写管道。

有时我需要在一秒钟内激活几个Pod,其中每个Pod是在Pod内运行的任务。

我计划用Kubernetes作业调用kubectl运行,并等待它完成(每秒轮询所有Pod运行)并激活管道中的下一步。

我还将监视群集大小,以确保不超过最大CPU / RAM使用量。

我可以同时运行数万个工作。

我没有使用标准管道,因为我需要在管道中创建动态数量的任务。

我正在运行批处理操作,因此我可以处理延迟。

这是最好的方法吗?在Kubernetes中创建 pod 需要多长时间?

最佳答案

如果您想同时运行一万个工作,则肯定需要计划资源分配。您需要估计所需的节点数。之后,您可以一次创建所有节点,也可以使用GKE群集自动缩放器根据资源需求自动添加新节点。如果您一次预分配所有节点-到月底,您的账单可能会很高。但是可以很快地创建 pods 。如果最初仅创建少量节点并使用群集自动缩放器,则将面临大量延迟,因为节点需要几分钟的时间才能启动。您必须确定您的方法。

如果使用群集自动缩放器-不要忘记在群集中指定最大节点数。

另一个重要的事情-您应该将工作放入Kubernetes中的Guaranteed quality of service中。否则,如果您使用“尽力而为”或“爆破” pods -最终将导致驱逐梦night,这真是可怕且不受控制。

关于kubernetes - Kubernetes通过使用作业激活数千个Pod来实现批处理性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56082473/

相关文章:

kubernetes - 在Spinnaker管道中运行istioctl

kubernetes - 基于 Pod 或部署的 GKE 账单明细

ssl - 在 NGINX-Ingress 上使用 session 关联性 (Cookie) 和 SSL 直通

docker - Kubernetes Master无法在OpenStack Heat中启动

kubernetes - 从 Service 访问 pod localhost

google-cloud-platform - Kubernetes服务无法正常工作(计时)

elasticsearch - 尝试安装 Elastic ECK 时出现错误 413

kubernetes - K8s/kubectl 资源对象

kubernetes - 入口、重写目标、前端和 API 相同的 URL。版本 0.22.0+

kubernetes - 将时间戳附加到 kubernetes --watch-only 命令