2

一旦您执行 kubectl apply ,我就有了示例 k8s 作业,该作业被触发并创建了 pod。如何控制 pod 创建?

apiVersion: batch/v1
kind: Job
metadata:
  name: pi-with-timeout
spec:
  backoffLimit: 5
  activeDeadlineSeconds: 100
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never
4

2 回答 2

3

如果要手动控制pod的创建,可以通过并行来实现。

文档说:

请求的并行度 (.spec.parallelism) 可以设置为任何非负值。如果未指定,则默认为 1。如果指定为 0,则作业有效暂停,直到增加。

您可以在执行时将其设置为 0 kubectl apply。配置如下所示

apiVersion: batch/v1
kind: Job
metadata:
  name: pi-with-timeout
spec:
  backoffLimit: 5
  parallelism: 0
  activeDeadlineSeconds: 100
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never

您可以在决定运行时将其设置为 1。

于 2020-02-07T05:08:52.123 回答
1

触发器正在运行 kubectl apply。创建作业时,它会运行。您可能正在寻找功能更全面的后台任务系统,例如 Airflow 或 Argo。

于 2020-02-06T08:35:46.630 回答