1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【簡単Kubernetes】【CKAD向け】Kubernetes CronJob入門:cron式の書き方とよく使う例まとめ

Posted at

こんにちは。今回は Kubernetes の CronJob で使われる cron スケジュール表現について、具体例を交えてわかりやすく解説します。


⏰ はじめに:CronJob とは?

Kubernetes の CronJob は、指定したスケジュールに従って定期的にジョブ(バッチ処理など)を実行するためのリソースです。

スケジュールの指定には、**cron 式(crontab 形式)**が使われます。
まずはその基本的な書式から見ていきましょう。


📘 cron 式の基本フォーマット

Cron 式は、以下のように 5つのフィールドで構成されます:

分 時 日 月 曜日

例:

0 8 * * 1-5

この場合は「月〜金の毎朝8時に実行」という意味になります。


✅ よく使う cron 式の例

cron 式 意味 説明
*/1 * * * * 毎分実行 1分おきに常に実行される
1 * * * * 毎時1分に実行 毎時間の「01分ちょうど」に一回だけ実行
0 0 * * * 毎日0時に実行 深夜0時に一回だけ実行
0 0 1 * * 毎月1日の0時に実行 月初に一回だけ実行
0 8 * * 1-5 平日の毎朝8時に実行 月〜金のみ、8時ちょうどに実行

🔍 */1 * * * * vs 1 * * * * の違い

意外と混乱しやすいのが、この2つの違いです。

cron 式 意味 備考
*/1 * * * * 毎分 実行 1分おき、60回/時
1 * * * * 毎時の1分(01分)に一度実行 1回/時、つまり毎時「01分」ちょうど

*/1 のような書き方は「分を1の倍数(=毎分)」という意味になります。


📦 Kubernetes CronJob に適用すると?

以下は、Kubernetes の CronJob YAML での設定例です:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: example-job
spec:
  schedule: "0 8 * * 1-5"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            args:
            - /bin/sh
            - -c
            - date; echo Hello from the cron job!
          restartPolicy: OnFailure

この設定では、「平日(月〜金)の朝8時に実行されるジョブ」が定義されています。


📝 おわりに

Cron 式はシンプルに見えて、1文字違うだけで意味が大きく変わることがあります。
とくに */11 のような違いは、想定外の動作につながることもあるので注意しましょう!

Kubernetes の CronJob を正しく運用するためにも、スケジュール式の意味をしっかり理解しておくことが重要です 💡


もし他にも「この cron 式どういう意味?」といった疑問があれば、ぜひコメントしてくださいね 😊

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?