Как вручную запустить задание kubernates (не cron) в k8s - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть образец задания k8s, как только вы примените kubectl, задание запускается и создаются модули. Как контролировать создание модуля?

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

Ответы [ 2 ]

1 голос
/ 07 февраля 2020

Если вы хотите вручную управлять созданием модуля, вы можете достичь его с помощью параллелизма.

Документация гласит:

Запрошенный параллелизм (.spe c .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, когда решите запустить.

1 голос
/ 06 февраля 2020

Триггер работает, kubectl применить. Когда вы создаете задание, оно запускается. Возможно, вы ищете более полнофункциональную систему фоновых задач, такую ​​как Airflow или Ar go.

...