Я пытаюсь создать Kubernetes CronJob для запуска приложения каждую минуту.
Обязательным условием является то, что мне нужно поместить код моего приложения в контейнер, который работает в CronJob. Я полагаю, что лучший способ сделать это — использовать постоянный том, pvclaim, а затем определить том и смонтировать его в контейнер. Я сделал это успешно с контейнерами, работающими в поде, но это кажется невозможным в CronJob? Вот моя попытка конфигурации:
apiVersion: batch/v2alpha1
kind: CronJob
metadata:
name: update_db
spec:
volumes:
- name: application-code
persistentVolumeClaim:
claimName: application-code-pv-claim
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: update-fingerprints
image: python:3.6.2-slim
command: ["/bin/bash"]
args: ["-c", "python /client/test.py"]
restartPolicy: OnFailure
Соответствующая ошибка:
ошибка: ошибка проверки "cron-applications.yaml": ошибка проверки данных: найдены недопустимые тома полей для v2alpha1.CronJobSpec; если вы решите игнорировать эти ошибки, отключите проверку с --validate=false
Я не могу найти никаких ресурсов, которые показывают, что это возможно. Итак, если это невозможно, как решить проблему добавления кода приложения в работающий CronJob?