K8S使用ジョブ管理cronジョブコントローラポッド(9)

以前の私たちは、自分のアイデンティティであるそれぞれのコントローラの展開、statefulset、daemonset 3種類の話
我々は他の二つの残りの部分を学ぶ今日
実際には、仕事とcronジョブが同じ機能ですが、;仕事とcronジョブをcronジョブスケジュールされたタスクの機能を追加。

概要:仕事だけでタスクを実行するタスクを処理するための責任がある、それは、一つ以上のバッチジョブポッド成功裡の妥結することを保証します。cronジョブは、仕事のスケジュールに追加するための時間です

まあ、それを練習を開始


まず、カウントダウン機能を使用してジョブを作成します

K8S使用ジョブ管理cronジョブコントローラポッド(9)
猫job.yamlの
apiVersion:バッチ/ v1の
種類:ジョブ
メタデータ:
名前:ジョブデモ
仕様:
テンプレート:
メタデータ:
名前:ジョブデモ
仕様:
restartPolicy:ネバーの
コンテナ:

  • 名前:カウンター
    画像:busyboxのの
    コマンド:
    • "ビン/ SH"
    • "-c"
    • "私9 8 7 6 5 4 3 2 1ため、エコー$ Iを行い、行います"

そして、それを作成

結果を見てください
K8S使用ジョブ管理cronジョブコントローラポッド(9)

K8S使用ジョブ管理cronジョブコントローラポッド(9)


cronジョブ
を追加タイムジョブスケジューリングに基づいて、実際には、我々がすることができます:タスクを実行するための任意の時点で、時間内に与えられた点も定期的に実行することができます。Linuxのcrontabでこの事実、私たちは非常によく似ている
CATのcronジョブ-demo.yaml
apiVersion:BATCH / v2alpha1
種類:cronジョブ
メタデータ:
名前:デモcronjob-
仕様:
スケジュール: " / 1 *"
JobTemplate:
スペック:
テンプレート:
仕様:
restartPolicy:ONFAILURE
コンテナ:

  • 名前:ハロー
    画像:busyboxのの
    引数:
    • "ビン/ SH"
    • "-c"
    • "私9 8 7 6 5 4 3 2 1ため、エコー$ Iを行い、行います"

K8S使用ジョブ管理cronジョブコントローラポッド(9)
spec.scheduleフィールドが実行するタスクを指定された期間のために必須である
タスクを指定するために、spec.jobTemplateを実行するのに必要な
pec.successfulJobsHistoryLimitと.spec.failedJobsHistoryLimitを、歴史的限界を表し、それはオプションのフィールドです。彼らが完了しないと仕事を予約することができるかを指定し、デフォルトでは制限はありません


-f cronジョブ-demo.yamlを作成kubectl
か、cronジョブRUNを作成するために使用さkubectl
kubectlこんにちは--schedule RUN = " / 1。 *" = --restart ONFAILURE --imageのbusybox = - / binに/ SH -C「DATE; Kubernetesクラスタからのエコーこんにちは」

K8S使用ジョブ管理cronジョブコントローラポッド(9)
K8S使用ジョブ管理cronジョブコントローラポッド(9)
ここに行く定期的に作成し、保存されて

したがって、それが削除されました
K8S使用ジョブ管理cronジョブコントローラポッド(9)


cronジョブジョブと、実際には、ちょうど、あなただけの罰金を理解して示しあまりここで、第三に他にも毎回の相対を使用する
制御モードの5種類が完了しましK8Sを、そして新しい学習の後ろを開始し、
プライベートの手紙メッセージへようこそ

おすすめ

転載: blog.51cto.com/xiaorenwutest/2483192