docker run と Kubernetes CronJob の間にある空白
コンテナをスケジュール実行しようとすると、たいていここで選択肢が尽きます。Kubernetes CronJob は成熟した答えですが、クラスタがすでにある場合に限られます。その下の層では cron が docker run を叩く形になり、スケジュール以外は何も手に入りません。
- cron と docker run の組み合わせには、リトライも、ジョブ間の依存関係も、実行履歴も、昨夜なぜ落ちたかを見る手段もありません
- 夜間のレポート 1 本のために Kubernetes を導入するのは、ジョブの小ささに対して基盤が大きすぎます
- コンテナをデプロイ先ではなく 1 つのステップ種別として扱う汎用オーケストレータが、この中間に収まります