Kubernetesスケジュールジョブを作成しました。これは、スケジュールに従って1日に2回実行されます。ただし、テストのために手動でトリガーしたいと思います。これどうやってするの?
Kubernetesスケジュールジョブを作成しました。これは、スケジュールに従って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
*uid
フィールドについて不満を言っており、このコマンドでフィールドを簡単に削除できますsed -i '/uid:.*/d' my_job.yaml
編集-2018年7月:この機能が実装されたため、@ pedro_slandの回答をご覧ください
以下の私の元の答えは、v1.10.1より前の古いバージョンのkubectlでは正しいままです
================================================== ======================
(他の回答が示唆しているように)新しい仕事を作成することを除いて、これを行う現在の方法はありません。これは、ここで追跡できるkubernetesでの機能リクエストです:https : //github.com/kubernetes/kubernetes/issues/47538
私はそれを行うための便利な小さなcmdユーティリティを作成し、cronジョブを一時停止および一時停止解除しました。
gcloud components install kubectl
その後、kubernetes.io / docs / tasks / tools / install