本記事では、PodやDeploymentのimagePullPolicy
をIfNotPresent
からAlways
に変更する方法ではなく、kubectl
を使用してコマンドラインからキャッシュを更新する方法を紹介します。
以前の記事を紹介
上の記事ではimagePullPolicy
を書き換えて新しいイメージを強制的にPullさせる方法を紹介しています。しかしPodの再起動を必要とする点と、わざわざマニフェストを書き換える必要のある点が好ましくなく、可能なら避けたいところです。
kubectl run
を使いましょう!
次のように、kubhectl run
の--image-pull-policy
オプションにAlways
を指定して実行します。
kubectl -n default run -it --rm --image="<イメージ名>" --image-pull-policy="Always" deleteme
これで、既存のマニフェストを変更せずにキャッシュ済みのイメージを最新版にすることができます。
--rm
オプションをつけているのでプロセスを終了させればPodは自動的に削除されますが、Podの起動がうまくいかなかったりシェルに入れなかった場合は
kubectl -n default delete pod/deleteme
を実行して当該Podを削除してあげてください。
まとめ
今回はimagePullPolicy
の書き換えを避けてキャッシュを更新する方法をご紹介しました。
Twitterでは、おうちKubernetesや技術関連の内容を日々ツイートしているので、興味があればぜひフォローしていってください😊
Twitter: https://twitter.com/_matoruru