繁体   English   中英

Kubernetes是否在内部维护pods / jobs排队?

[英]Does Kubernetes internally maintain pods / jobs queue?

我们遇到了kubernetes排队的大问题。

我们通过Workflow管理器提交作业,即Airflow到集群管理器,即AWS Batch。 由于AWS批处理存在限制,因此无论提交到队列的作业数是多少,批处理都会同时执行与集群中可用的vCPU相等的作业数。 为克服AWS批次的这一限制,我们计划通过AWS批次迁移到Kubernetes。

但是,我们不确定kubernetes如何处理这个问题,在探索时,我们将在以下链接中获取队列的示例。

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

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

在这些示例中,我们需要将任务写入队列并通过我们的代码从队列中读取。 但是,这里解释的案例并不是我们想要的。 在我们的例子中,Apache airflow的Kubernetes_Pod_operator将pod / job提交给K8集群,我们期望K8将这些作业放在其内部队列中,并将根据可用的集群容量在集群上执行它们。

  • 我们想知道,k8内部是否支持队列并将作业/ pod放入队列中,并根据可用的群集容量在群集上拾取并执行它们?

  • 任何解决这个问题的方法? 或者它是k8的限制,我们应该开发自己的解决方案吗?

您可以在作业yamls中配置容器资源。 请阅读以下链接,了解如何实现此目的: https//kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#how-pods-with-resource-requests-are-scheduled

此配置将确保作业保持在“待处理”状态,直到满足要求。 Kubernetes调度程序使用内部队列,其中存储所有“待处理”和“调度程序失败”作业。

暂无
暂无

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

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