Я создал запланированное задание Kubernetes , которое запускается два раза в день по расписанию. Однако я хотел бы запустить его вручную в целях тестирования. Как я могу это сделать?
115
Я создал запланированное задание Kubernetes , которое запускается два раза в день по расписанию. Однако я хотел бы запустить его вручную в целях тестирования. Как я могу это сделать?
Проблема № 47538, о которой упоминал @jdf, теперь закрыта, и теперь это возможно. Оригинальную реализацию можно найти здесь но синтаксис изменился.
В kubectl v1.10.1 + команда выглядит так:
kubectl create job --from=cronjob/<cronjob-name> <job-name>
Похоже, он обратно совместим со старыми кластерами, поскольку у меня он работал на v0.8.x.
gcloud components install kubectl
затем kubernetes.io/docs/tasks/tools/install-kubectlВы можете создать простое задание на основе вашего ScheduledJob. Если вы уже запускаете ScheduledJob, в истории есть задания.
Экспортируйте одно из этих заданий:
Затем немного отредактируйте yaml, удалив некоторые ненужные поля и запустите его вручную:
источник
*uid
поля, и вы можете легко удалить их с помощью этой командыsed -i '/uid:.*/d' my_job.yaml
РЕДАКТИРОВАТЬ - июль 2018: см. Ответ @ pedro_sland, поскольку эта функция теперь реализована
Мой исходный ответ ниже останется верным для более старых версий kubectl менее v1.10.1.
================================================== ======================
Помимо создания новой работы (как предлагали другие ответы), в настоящее время нет способа сделать это. Теперь это запрос функции в kubernetes, который можно отслеживать здесь: https://github.com/kubernetes/kubernetes/issues/47538
источник
К сожалению, ни один из приведенных выше примеров синтаксиса не работает в Google Kubernetes Engine (GCP). Кроме того, сами документы GKE ошибочны. :(
В Kubernetes
1.10.6.gke-2
рабочий синтаксис:источник
Я создал небольшую утилиту cmd для удобства, чтобы делать это, а также приостанавливать и отменять приостановку работы cronjobs.
https://github.com/iJanki/kubecron
источник
Если вы хотите протестировать задание, создайте конфигурацию задания из конфигурации Cron Job (ScheduledJob) и запустите его вручную, используя следующую команду:
источник
На этой вкладке на панели инструментов k8s есть возможность запустить задание cron вручную.
источник