Kubernetes Scheduled Job を作成しました。これは、スケジュールに従って1日に2回実行されます。ただし、テスト目的で手動でトリガーしたいと思います。これどうやってするの?
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の answer を参照してください。この機能は現在実装されています。
以下の元の答えは、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>
それを行うためだけでなく、cronジョブを一時停止および一時停止解除するための便利な小さなcmdユーティリティを作成しました。