gpt4 book ai didi

kubernetes - 设置并行度> 1时如何获取1个initContainer

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

我在Kubernetes中有以下定义的工作(为简洁起见有一些遗漏)。设置平行度和N个补全。我想要1个初始化容器来延迟并行容器的启动。当我按原样运行它时,每次完成它都会得到一个初始化容器。

apiVersion: batch/v1
kind: Job
metadata:
name: my-job
spec:
parallelism: 10
completions: 10
backoffLimit: 0
template:
spec:

# I want 1 of these to run first
initContainers:
- name: init-container
image: my/container:latest
imagePullPolicy: Always
command: ["init_script.sh"]

# I want 10 of these to run in parallel once init_script.sh exits
containers:
- name: container
image: my/container:latest
imagePullPolicy: Always
command: ["run_job.sh"]

restartPolicy: Never

最佳答案

Kubernetes Jobs是非常基础的,并且不提供任何具有计划依赖性的高级计划机制。例如,在另一个工作完成之后开始工作的能力。我的建议是在Kubernetes上使用更高级的调度工具。几乎没有开源可以使用。例如。

  • Volcano-例如,您可以使用 TaskCompleted 事件。
  • Airflow-您可以直接从工具安排播客,并构建DAG (Directed Acyclic Graph).

  • 另两种选择:
  • 您甚至可以创建自己的custom scheduler
  • 您可以构建自己的operator,根据状态开始常规工作。

  • ✌️

    关于kubernetes - 设置并行度> 1时如何获取1个initContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63348010/

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