はじめに
【Kubernetes】CronJobのmanifest作成とメモ の続きです。
CronJobの確認に必要そうなコマンドを集めてみました。
上から順にやっていけば、ひととおり見わたせます。慣れてきたら必要なコマンドだけチョイスしてください。
前提
Kubernetesの動作環境が揃っていること。
ローカル環境で開発する場合は、MinikubeやDocker for Macなどで構築しておいてください。
コマンド集
例として、以下を当てはめたコマンドを使用しています。こちらは状況により変更してください。
[context name] : minikube
[file name] : cronjob.yml
[cronjob name] : my-cronjob
[job name] : my-cronjob-1571993880
[pod_name] : my-cronjob-1571993880-hr59x
コンテキスト一覧を取得
コンテキストとは、クラスタへアクセスするための情報が含まれた定義のことです。
$ kubectl config get-contexts
コンテキストの切替え
どのクラスタに接続したいかで、必要によって切り替えてください。
ex) kubectl config use-context [context name]
$ kubectl config use-context minikube
現在のコンテキストを取得
この確認を行うことで、うっかり違う環境に作っちゃった・・!ってことがなくなりますね。
$ kubectl config current-context
ジョブを新規作成
Manifestファイルを指定して、 jobをcreateで新規作成します。
新規以外のときは、kubectl apply
を使用すると何かと便利です。
ex) kubectl create -f [file name]
$ kubectl create -f ./cronjob.yml
cronjob.batch/my-cronjob created
CronJob一覧を取得
ジョブが動作するとLAST SCHEDULEが更新されます。
$ kubectl get cronjob
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
my-cronjob */1 * * * * False 0 25s 14s
CronJob詳細を取得
ex) kubectl describe cronjob [cronjob name]
$ kubectl describe cronjob my-cronjob
ジョブ一覧を取得
動いた履歴があると表示されます。
$ kubectl get job
NAME COMPLETIONS DURATION AGE
my-cronjob-1571993880 1/1 4s 42s
ジョブ詳細を取得
ex) kubectl describe job [job name]
$ kubectl describe job my-cronjob-1571993880
ポッド一覧を取得
$ kubectl get pod
NAME READY STATUS RESTARTS AGE
my-cronjob-1571993880-hr59x 0/1 Completed 0 58s
ポッド詳細を取得
ex) kubectl describe pod [pod_name]
$ kubectl describe pod my-cronjob-1571993880-hr59x
ポッドのログを取得
ex) kubectl logs -f [pod_name]
$ kubectl logs -f my-cronjob-1571993880-hr59x
ジョブを停止
必要なくなったら、消しておきましょう。
ex) kubectl delete cronjob [cronjob name]
$ kubectl delete cronjob my-cronjob
cronjob.batch "my-cronjob" deleted