일정 에 따라 하루에 두 번 실행 되는 Kubernetes Scheduled Job을 만들었습니다 . 그러나 테스트 목적으로 수동으로 트리거하고 싶습니다. 어떻게 할 수 있습니까?
답변
문제의 # 47538 언급 @jdf은 이제 폐쇄하고이 지금 가능하다. 원래 구현은 여기 에서 찾을 수 있지만 구문이 변경되었습니다.
kubectl v1.10.1 +에서 명령은 다음과 같습니다.
kubectl create job --from=cronjob/<cronjob-name> <job-name>
v0.8.x에서 저에게 효과적 이었기 때문에 이전 클러스터와 역 호환되는 것 같습니다.
답변
ScheduledJob을 기반으로 간단한 작업을 만들 수 있습니다. ScheduledJob을 이미 실행 한 경우 기록에 작업이 있습니다.
kubectl get jobs
NAME DESIRED SUCCESSFUL AGE
hello-1477281595 1 1 11m
hello-1553106750 1 1 12m
hello-1553237822 1 1 9m
다음 작업 중 하나를 내 보냅니다.
kubectl get job hello-1477281595 -o yaml > my_job.yaml
그런 다음 yaml을 약간 편집하여 불필요한 필드를 지우고 수동으로 실행하십시오.
kubectl create -f my_job.yaml
kubectl delete -f my_job.yaml
답변
편집-2018 년 7 월 : 이 기능이 이제 구현 되었으므로 @pedro_sland의 답변 을 참조하십시오.
아래의 원래 답변은 v1.10.1 미만의 이전 버전의 kubectl에 대해 올바른 상태로 유지됩니다.
================================================ ======================
(다른 답변에서 제안했듯이) 새 작업을 만드는 것 외에는 현재 방법이 없습니다. 이제 여기에서 추적 할 수있는 kubernetes의 기능 요청입니다 : https://github.com/kubernetes/kubernetes/issues/47538
답변
안타깝게도 위의 예제 구문은 Google Kubernetes Engine (GCP)에서 작동하지 않습니다. 또한 GKE 문서 자체가 잘못되었습니다. 🙁
Kubernetes 1.10.6.gke-2
에서 작동 구문은 다음과 같습니다.
kubectl create job <your-new-job-name> --from=cronjob/<name-of-deployed-cron-job> -n <target namespace>