ポッドをkubernetesにデプロイして、毎日数時間実行する方法を探しています。基本的に、毎朝午前8時に実行し、午後5時30分頃まで実行し続けたいと思います。
私は多くのことを研究してきましたが、特定の時間枠を念頭に置いてポッドをデプロイする方法を見つけられませんでした。cronジョブを見つけましたが、それは自分で終了するポッド用のようですが、私のものは常に実行されているはずです。
この方法でポッドをkubernetesにデプロイする方法はありますか?または、内部クロックに基づいて目的のアプリケーションを実行するようにポッド自体を設定する必要がありますか?
Kubernetesアーキテクチャによると、ジョブは1つ以上のポッドを作成し、指定された数のポッドが正常に終了することを保証します。ポッドが正常に完了すると、ジョブは正常に完了したことを追跡します。指定された正常な完了数に達すると、ジョブ自体が完了します。
簡単に言うと、ジョブは完了または失敗するまで実行されます。そのため、KubernetesでCronジョブの終了をスケジュールするオプションはありません。
あなたの場合、Cron Jobを定期的に開始し、次のいずれかのオプションを使用して終了できます。
より良い方法は、コンテナを単独で終了することです。そうすれば、そのような機能をアプリケーションに追加したり、Cronを使用したりできます。DockerコンテナにCronを追加する方法の詳細については、こちらをご覧ください。
別のcronジョブを使用して、cronジョブを終了できます。ジョブに関連するポッドを見つけて削除するには、ポッド内でコマンドを実行する必要があります。詳細については、このリンクを参照してください。ただし、Cron Jobには常にfailed
ステータスがあるため、これは良い方法ではありません。
どちらの場合も、cronジョブが終了したステータスを確認し、RestartPolicy
それに応じて正しいものを使用する必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加