Utworzyłem Kubernetes zaplanowanego zadania , czyli dwa razy dziennie zgodnie z harmonogramem. Chciałbym jednak uruchomić go ręcznie do celów testowych. W jaki sposób mogę to zrobić?
115
Utworzyłem Kubernetes zaplanowanego zadania , czyli dwa razy dziennie zgodnie z harmonogramem. Chciałbym jednak uruchomić go ręcznie do celów testowych. W jaki sposób mogę to zrobić?
Problem # 47538 , o którym wspomniał @jdf, jest teraz zamknięty i jest to teraz możliwe. Oryginalną implementację można znaleźć tutaj, ale składnia uległa zmianie.
W kubectl v1.10.1 + polecenie brzmi:
kubectl create job --from=cronjob/<cronjob-name> <job-name>
Wydaje się, że jest wstecznie kompatybilny ze starszymi klastrami, ponieważ działał dla mnie w wersji 0.8.x.
gcloud components install kubectl
następnie kubernetes.io/docs/tasks/tools/install-kubectlMożesz utworzyć proste zadanie na podstawie swojego ScheduledJob. Jeśli wykonałeś już ScheduledJob, w historii są zadania.
Eksportuj jedno z tych zadań:
Następnie edytuj trochę yaml, usuwając niepotrzebne pola i uruchom go ręcznie:
źródło
*uid
pola i możesz je łatwo usunąć tym poleceniemsed -i '/uid:.*/d' my_job.yaml
EDIT - lipiec 2018: zobacz @ pedro_sland za odpowiedzi jako funkcja ta została wdrożona
Moja pierwotna odpowiedź poniżej pozostanie poprawna dla starszych wersji kubectl starszych niż v1.10.1
==================================================== ======================
Poza utworzeniem nowej pracy (jak sugerowały inne odpowiedzi), obecnie nie ma na to żadnego sposobu. Jest to teraz żądanie funkcji w kubernetes, które można śledzić tutaj: https://github.com/kubernetes/kubernetes/issues/47538
źródło
Niestety żadna z powyższych przykładowych składni nie działa w Google Kubernetes Engine (GCP). Ponadto sami doktorzy GKE są w błędzie. :(
W Kubernetes
1.10.6.gke-2
działająca składnia toźródło
Stworzyłem małe narzędzie cmd dla wygody, aby to zrobić, a także zawiesić i cofnąć zawieszenie cronjobs.
https://github.com/iJanki/kubecron
źródło
Jeśli chcesz przetestować zadanie, stworzyć Job config z Cron Job (ScheduledJob) config i uruchomić go ręcznie za pomocą następującego polecenia:
źródło
Istnieje opcja ręcznego wyzwalania zadania cron w tej zakładce na pulpicie nawigacyjnym K8s
źródło