X(Twitter) Zenn GitHub RSS 共有

Kubernetes

作成日時:2025-11-03
更新日時:2025-11-03

バッチ

cron的にバッチを動かすことができる。(CronJob)
終わったらリソースが消える。(残す設定もある)
費用を最小にできそう。

EC2の余剰リソースで実施してもいいけど。

pending

しばらく止めていたk8sを動かそうとすると、
止まっていたcronJobが一気に動き出し複数のpodがpendingになるかもしれない。
(リソースを割り当てられない状態)

podを消しても、また新しく作られる。
Jobが残っているため。
PendingのPodを停止・削除するには、Podの親であるJobリソースを削除。

# 実行中のJobを確認
kubectl get jobs

# 該当のJobを削除(関連するPodも同時に削除される)
kubectl delete job <job>

コストが跳ね上がりそうなので、止めていたk8sを動かすときは注意する。

事前抑止

k8sに関して。
cronjobが含まれるk8sを久しぶりに起動したら、
cronjobに登録していたバッチが異常なほど大量に立ち上がり、
大量のpending状態のpodができた。

これはstartingDeadlineSecondsがnilかつconcurrencyPolicyがallowであるため、
本来なら停止期間中に動いていたら起動していた分のバッチが一気に立ち上がったためか。

→あってるっぽい。
下記の設定を見直す。

参考リンク

暗号化

環境変数には暗号化した値を格納する。
k8sの公開鍵で暗号化できるらしい。