kubernetesのクローンジョブマニュフェストの書き方
はじめに
くーばねてすを倒すために今回はkubernetesのクローンジョブの動きとマニフェストの書き方をちょっとまとめた!(^^)!
概要
■クローンジョブとは
■クローンジョブマニュフェストの書き方
■クローンジョブに関するコマンド
をまとめた(^^)/
■クローンジョブとは
クローンジョブは設定されたスケジュール時間に従ってジョブを実行するコントローラーだ。
使い方としては*時にデータベースのバックアップをとる。*時間に一回処理を実行するというように定められた時間にジョブを実行することができる。
■クローンジョブマニュフェストの書き方
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
クローンジョブの設定項目
|設定項目|意味|
| --- | --- | --- |
|schedule|Cronのフォーマットでスケジュールの指定をする。|
|jobTemplate|CronJobがJobを作成する際のJobのテンプレートを指定する|
|startingDeadlineSeconds|何らかの理由でJobがスケジュールされるのが遅れた際に許容できる時間を指定する|
|concurrencyPolicy|Jobの並行実行ポリシーを指定する.Allow,Forbid,Replace.デフォルトは Allow だ。|
|suspend|CronJobのスケジューリングの対象とするかを指定する。true にするとスケジュールの対象外とされる。デフォルトは false だ|
|failedJobsHistoryLimit|異常終了したJobの履歴保有数を指定する。デフォルトは1だ。|
cron形式での指定方法
日時の指定 ┌─────────────分(0〜59)
│ ┌─────────────時間(0〜23)
│ │ ┌─────────────月の日(1〜31)
│ | │ ┌─────────────月(1〜12)
│ │ | | ┌─────────────曜日(0〜6)(日曜日から土曜日。
│ │ │ | |7は一部のシステムでは日曜日でもあります)
│ │ │ | |
│ │ │ | |
schedule: "* * * * *"
|指定|例|意味|
| --- | --- | --- | --- |
|リスト|0,10,45|分では0分、10分、45分に実行|
|範囲指定|6-9|月では6月から9月に実行|
|共存|1,6-9|月では1月、6月から9月に実行|
|間隔指定|*/5|分では5分ごとに実行する|
■クローンジョブに関するコマンド
クローンジョブを一覧表示
$ kubectl get cronjob
クローンジョブの実行状態を含め表示する
$ kubectl describe cronjobs 名前
クローンジョブを削除する
$ kubectl delete cronjobs 名前
まとめ
眠い(^^)/
Discussion