Как настроить время перезапуска рабочих мест Kubernetes?

Теперь мы используем Kubernetes для выполнения задач пользователей. Нам нужны возможности Kubernetes Jobs для перезапуска задач в случае сбоя.

Но наши пользователи могут подавать проблемные приложения, которые всегда выходят с ненулевым кодом. Кубернетес будет перезапускать эту задачу снова и снова.

Можно ли настроить время перезапуска по этому поводу?

1 ответ

Решение

Вы можете использовать стандартную политику перезапуска модуля: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/

К сожалению, разрешена только политика "Никогда" или "OnFailure", поэтому, если вам нужно перезапустить X раз, то это не удастся.

Пример:

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

backoffLimit: 4 - количество попыток перед выдачей ошибки

completions: 3 - количество раз запустить

Другие вопросы по тегам