Cron → K8s CronJob
Kubernetes DevOps & Cloud-Native Batch Generator

Cron から Kubernetes CronJob YAML 変換&スペックジェネレーター 開発者ガイド

標準的な crontab スケジュール式を、restartPolicy、concurrencyPolicy、リソース制限、タイムゾーン対応を備えた本番仕様の Kubernetes CronJob マニフェストへ瞬時に変換します。

POSIX Crontab ↔ batch/v1 CronJob & Helm
プリセット:
並行実行ポリシー:
再起動ポリシー:
CPU:/
Mem:/
Crontabスケジュール&コマンドPOSIX Standard
Enter 5-part cron or full crontab command line:[min] [hour] [dom] [mon] [dow] [cmd?]
Quick Chips:
Container Command / Exec Script:
|
評価されたKubernetesスケジュールspec.schedule
schedule: "0 2 * * *"
5-Part Schedule Breakdown & Semanticsbatch/v1 Spec
Min 0At min 0
Hour 2At hour 2:00
DOM *Every day
Mon *Every month
DOW *Any weekday
Schedule Cadence:At 2:00 AM (02:00), every day.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
apiVersion: batch/v1
kind: CronJob
metadata:
  name: pg-nightly-backup
  namespace: default
  labels:
    app.kubernetes.io/name: pg-nightly-backup
    app.kubernetes.io/managed-by: toolsaa
spec:
  schedule: "0 2 * * *"
  timeZone: "UTC"
  concurrencyPolicy: Forbid
  suspend: false
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  startingDeadlineSeconds: 120
  jobTemplate:
    spec:
      backoffLimit: 3
      activeDeadlineSeconds: 3600
      template:
        metadata:
          labels:
            app.kubernetes.io/name: pg-nightly-backup
        spec:
          restartPolicy: OnFailure
          containers:
          - name: pg-nightly-backup
            image: postgres:16-alpine
            imagePullPolicy: IfNotPresent
        command:
        - /bin/sh
        - -c
        args:
        - "pg_dumpall -h postgres.database.svc.cluster.local -U postgres | gzip > /tmp/backup.sql.gz"
            resources:
              requests:
                cpu: "100m"
                memory: "128Mi"
              limits:
                cpu: "500m"
                memory: "512Mi"
            securityContext:
              allowPrivilegeEscalation: false
              runAsNonRoot: true
              readOnlyRootFilesystem: false
構文適合性
VALID (batch/v1 Compliant)
Tested against POSIX crontab & Go-cron spec
CronJob行数
Forbid • OnFailure
TZ: UTC (backoff: 3)
マニフェストサイズ
46 lines • 1253 bytes
Resource limits: 500m / 512Mi

100% クライアントサイド保護

サーバーへの送信やテレメトリは一切ありません。Cron式、コンテナ設定はすべてブラウザ内ローカルで処理されます。

Kubernetes batch/v1 標準準拠

batch/v1 API仕様およびRFC 1123 DNS命名規則に完全準拠した本番対応YAMLを生成します。

クラウドネイティブ高信頼スケジューリング

並行ポリシー(Forbid/Allow/Replace)、restartPolicy(OnFailure/Never)、リソース制限、kubectl検証コマンドを網羅します。

技術リファレンス&アーキテクチャガイド

Cron から Kubernetes CronJob YAML 変換&スペックジェネレーター 開発者ガイド — リファレンスガイド

標準的な crontab スケジュール式を、restartPolicy、concurrencyPolicy、リソース制限、タイムゾーン対応を備えた本番仕様の Kubernetes CronJob マニフェストへ瞬時に変換します。

主要パラメータ&設定項目

spec.schedulestring

実行スケジュールを定義する標準の5フィールド Cron 式(分、時、日、月、曜日)。

初期値: 0 0 * * *
spec.concurrencyPolicystring ('Allow' | 'Forbid' | 'Replace')

前のジョブがまだ実行中の状態で次の実行時刻を迎えた場合の並行実行制御ポリシー。

初期値: Allow
spec.jobTemplate.spec.template.spec.restartPolicystring ('OnFailure' | 'Never')

Pod 内コンテナの再起動ポリシー。バッチ処理のため正常終了または異常終了が前提であり、'Always' は拒否されます。

初期値: OnFailure
spec.startingDeadlineSecondsinteger (秒)

クラスタの停止やコントローラー障害で予定時刻を過ぎてしまった場合に、ジョブの開始を許可する最大遅延秒数。

初期値: 未設定 (任意)
spec.successfulJobsHistoryLimitinteger

監査やログ確認のために保持する、正常終了した Job Pod の履歴数。

初期値: 3
spec.failedJobsHistoryLimitinteger

トラブルシューティングや原因究明のために保持する、失敗した Job Pod の履歴数。

初期値: 1

プロの活用テクニック&推奨設定

長時間バッチでは必ず 'concurrencyPolicy: Forbid' を適用する

データ同期やバックアップ処理の実行時間がスケジュール間隔を超えた場合、Job が重複起動してリソース枯渇や DB デッドロックを起こすリスクがあります。Forbid を指定して安全にスキップしましょう。

'activeDeadlineSeconds' を明示してジョブのハングを自動停止する

'spec.jobTemplate.spec.activeDeadlineSeconds' を設定することで、ワーカー Pod がネットワーク待ちなどで無限にハングした場合でも、指定秒数経過時に Kubernetes がジョブを自動強制終了します。

Kubernetes 1.27+ のネイティブ IANA タイムゾーン機能を活用する

'spec.timeZone: "Asia/Tokyo"' や '"UTC"' をマニフェストに直接指定することで、ノードのシステム時刻やサマータイムの影響を受けずに意図した現地時刻通りにジョブを実行できます。

'backoffLimit' を最適化して無駄な Pod 再生成ループを防止する

デフォルトの再試行回数 6 回(backoffLimit: 6)は多すぎる場合があります。2〜3 回に絞ることで、失敗したバッチ処理によるクラスタイベントの溢れや不要な Pod 生成を抑制できます。

よくあるトラブルと解決策

restartPolicy のエラー: 'Pod template restart policy Always is not allowed'

'spec.jobTemplate.spec.template.spec.restartPolicy' を 'Always' から 'OnFailure' または 'Never' に変更してください。Kubernetes のバッチジョブでは完了が必須であるため 'Always' は無効です。

100回以上のスケジュール超過で CronJob の自動実行が停止する

クラスタ停止などでスケジュール実行が 100 回以上連続して見送られると、コントローラーはスケジューリングを停止します。'spec.startingDeadlineSeconds: 200' などを指定した上で、マニフェストを再作成(delete / apply)してください。

ジョブの並行実行によってデータの二重更新やロック競合が発生する

'spec.concurrencyPolicy' を 'Allow' から 'Forbid' に変更してください。これにより、先行ジョブが実行中であれば後続ジョブの開始を自動的にスキップします。

よくある質問 (FAQ)

Kubernetes CronJob で推奨される API バージョンは何ですか?▼

常に 'apiVersion: batch/v1' を使用してください。旧来の 'batch/v1beta1' は v1.21 で非推奨となり、Kubernetes v1.25 で完全に削除されました。

Linux の crontab と Kubernetes CronJob の根本的な違いは何ですか?▼

Linux crontab はホスト OS 上で直接シェルプロセスを実行しますが、Kubernetes CronJob はクラスタ全体のノードへコンテナ化された独立 Pod を分散配置し、リソース制限、シークレット注入、自動再試行、履歴管理を宣言的に制御します。

スケジュールを待たずに Kubernetes CronJob を今すぐ手動実行できますか?▼

'kubectl create job <任意のジョブ名> --from=cronjob/<cronjob名> -n <名前空間>' コマンドを実行することで、CronJob の Pod テンプレートを流用した一回限りの手動 Job を即座に起動できます。

restartPolicy の 'OnFailure' と 'Never' の挙動の違いは何ですか?▼

'OnFailure' ではコンテナが異常終了した際に同一 Pod 内でコンテナのみが再起動されます。一方 'Never' では失敗した Pod は終了状態となり、Job コントローラーが 'backoffLimit' の範囲内で別ノードに新しい Pod を再作成します。

リソースの requests と limits はバッチ処理にどう影響しますか?▼

'resources.requests' を指定するとスケジューラが空きリソースのあるノードへ Pod を安全に配置します。'resources.limits' を指定すると、メモリリークや CPU 暴走が発生した際に Pod が OOMKilled され、他の重要サービスへの影響を防ぎます。

関連するおすすめ開発ツール

すべてのツール →
JSONからGraphQL SDLスキーマ生成(Types・Queries・Inputs)開発者ガイドdeveloper

JSONオブジェクトからGraphQLスキーマ定義言語(SDL)のオブジェクト型、Input型、Queryスキーマを即時生成します。

ツールを開く→
Prometheus アラートルール&レコーディングルール生成ツール (PromQL) 開発者ガイドdeveloper

PromQLアラートルール、レコーディングルール、アラートしきい値、ラベル、Runbookアノテーションを視覚的に構築・検証します。

ツールを開く→
GraphQL SDLからTypeScriptリゾルバー型生成ツール 開発者ガイドdeveloper

GraphQL SDL(スキーマ定義言語)から、完全な型安全性を備えたTypeScriptリゾルバーインターフェース、引数型、コンテキスト型を自動生成します。

ツールを開く→
cURL to C# 変換ツール (.NET HttpClient, RestSharp & Flurl) 開発者ガイドdeveloper

コマンドラインの cURL リクエストを、.NET HttpClient、RestSharp、Flurl.Http を用いた実用的な C# コードへ高精度に変換。非同期処理や接続プーリングのベストプラクティスに対応。

ツールを開く→
cURLからJavaへの変換ガイド(Java 11+ HttpClient、OkHttp & Spring WebClient)developer

cURLコマンドを標準のjava.net.http.HttpClient、OkHttp3、Spring WebClientのプロダクション品質なJavaコードへ瞬時に変換します。

ツールを開く→
JSON から XML Schema (XSD) 定義ジェネレーター 開発者ガイドdeveloper

サンプルJSONからXMLスキーマ定義(XSD)の型構造、複合要素(complexType)、属性、出現頻度(minOccurs/maxOccurs)を高精度に自動推論。

ツールを開く→