Jobs
Содержание
Понимание Jobs
Обратитесь к официальной документации Kubernetes: Jobs
Job предоставляет различные способы определения задач, которые выполняются до завершения и затем останавливаются. Вы можете использовать Job для определения задачи, которая выполняется до завершения один раз.
- Атомарная единица выполнения: Каждый Job управляет одним или несколькими Pod до успешного завершения.
- Механизм повторных попыток: Управляется параметром
spec.backoffLimit
(по умолчанию: 6).
- Отслеживание завершения: Используйте
spec.completions
для определения необходимого количества успешных выполнений.
Пример YAML файла
# example-job.yaml
apiVersion: batch/v1
kind: Job
metadata:
name: data-processing-job
spec:
completions: 1 # Количество необходимых успешных завершений
parallelism: 1 # Максимальное количество параллельных Pod
backoffLimit: 3 # Максимальное количество попыток повторного запуска
template:
spec:
restartPolicy: Never # Политика перезапуска для Job (Never/OnFailure)
containers:
- name: processor
image: alpine:3.14
command: ['/bin/sh', '-c']
args:
- echo "Processing data..."; sleep 30; echo "Job completed"
Обзор выполнения
Каждое выполнение Job в Kubernetes создает отдельный объект Job, что позволяет пользователям:
-
Создать задание с помощью
kubectl apply -f example-job.yaml
-
Отслеживать жизненный цикл задания с помощью
-
Просматривать детали выполнения с помощью
kubectl describe job/<job-name>
-
Просматривать логи Pod с помощью