Kubernetes - 相同的作业,不同的参数

pst*_*cki 5 kubernetes

在 Kubernetes 上运行可配置数量的相同作业但为每个作业提供不同参数(例如作业编号)的最简单方法是什么?

pag*_*gid 3

  1. 您可以只拥有一个模板作业,并使用 bash 扩展来拥有基于该初始模板的多个作业规范。

如官方使用扩展的并行处理用户指南所示:

mkdir ./jobs
for i in apple banana cherry
do
  cat job.yaml.txt | sed "s/\$ITEM/$i/" > ./jobs/job-$i.yaml
done
kubectl create -f ./jobs
Run Code Online (Sandbox Code Playgroud)
  1. 或者您可以创建一个队列并使用指定数量的并行工作人员/作业来清空队列。然后,队列的内容将成为每个工作人员的输入,并且 Kubernetes 可以生成并行作业。使用工作队列的粗略并行处理用户指南对此进行了最好的描述。

  • 第一种方法简单直接,但缺乏灵活性
  • 第二个需要消息队列作为“开销”,但您将获得灵活性