gpt4 book ai didi

kubernetes - Kubernetes 内部是否维护 pods/jobs 队列?

转载 作者:行者123 更新时间:2023-12-02 11:58:33 24 4
gpt4 key购买 nike

我们被一个大问题 kubernetes 困住了排队。

我们通过工作流管理器(即 Airflow)向集群管理器(即 AWS Batch)提交作业。由于 AWS 批处理存在限制,
无论提交到队列的作业数量有多少,批处理同时执行的作业数量等于集群中可用的 vCPU 数量。
为了克服 AWS 批处理的这种限制,我们计划通过 AWS 批处理迁移到 Kubernetes。

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

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

  • 在这些示例中,我们需要通过我们的代码将任务写入队列并从队列中读取。
    但是,这里解释的案例不是我们要找的。
    在我们的例子中,Apache 气流的 Kubernetes_Pod_operator 会将 pod/job 提交到 K8 集群,
    我们期望 K8 将这些作业放入其内部队列中,并根据可用的集群容量在集群上选择并执行它们。
  • 我们想知道,k8 内部是否支持队列并将作业/pod 放入队列中,以及
    根据可用的集群容量在集群上选择并执行它们?
  • 这个问题有什么解决办法吗?或者是 k8 的限制,我们应该为此开发自己的解决方案吗?
  • 最佳答案

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

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

    关于kubernetes - Kubernetes 内部是否维护 pods/jobs 队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49870171/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com