Kubernetes 예약 작업을 수동으로 트리거하려면 어떻게해야합니까?
일정 에 따라 하루에 두 번 실행 되는 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>
편의를 위해 작은 cmd 유틸리티를 만들어 cronjob을 일시 중지 및 일시 중지 해제했습니다.
https://github.com/iJanki/kubecron
작업을 테스트하려면 Cron 작업 (ScheduledJob) 구성 에서 작업 구성을 만들고 다음 명령을 사용하여 수동으로 실행합니다.
kubectl create -f ./job.yaml
참고 URL : https://stackoverflow.com/questions/40401795/how-can-i-trigger-a-kubernetes-scheduled-job-manually
'Programing' 카테고리의 다른 글
열 이름으로 데이터 프레임의 열 정렬 (0) | 2020.10.19 |
---|---|
Entity Framework가 항상 데이터베이스에서 업데이트 된 데이터를 가져 오도록 강제하는 방법은 무엇입니까? (0) | 2020.10.19 |
CSS 그리드 래핑? (0) | 2020.10.19 |
다른 응용 프로그램 서명으로 인해 재설치에 실패했습니다. (0) | 2020.10.19 |
수퍼 뷰의 수퍼 뷰와 관련하여 UIView의 위치를 가져옵니다. (0) | 2020.10.18 |