0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Kubernetes】イメージを更新するには (Declarativeアプローチで) no.10

Posted at

名称未設定のデザイン (12).png

こんにちは。まゆみです。

Kubernetesについての記事をシリーズで書いています。

前回・前々回の記事で、yamlファイルにDeploymentやServiceオブジェクトの設定内容をどのように書くかを解説させていただきました。

今回の記事では、

  • Podの中のContainerのイメージを更新するにはどうしたら良いか
  • イメージを更新するときに水面下で行われていること

を解説していこうと思います

さっそく始めていきますね。

イメージの更新の仕方

実はイメージを更新するのは (Declarative(宣言型)のアプローチを使えば) ものすごく簡単です。

deployment.yamlファイルの

spec > containers > image

に変更したいイメージ名を書くだけです。
2021-07-25_11-11-15.png

Imperativeなアプローチの場合、イメージを更新するのは大変でした。(こちらの記事でImperativeな方法によるイメージの更新の仕方を紹介しています)

①更新したイメージをdocker hubにpush して

②kubectl set imageコマンドでイメージを更新する

というやや複雑なものでしたが、Declarativeな方法によれば、yamlファイルのimage名を書き換えるだけで良いのです。

yamlファイルを更新するときに水面下で起こっていること

上で記したように、yamlファイルのimage: の項目を新しいイメージ名にして

kubectl apply -f=<yamlファイル名>

とすれば、イメージが更新されて新たなオブジェクトが作られます。

この時水面下で何が起こっているかというと

コンピュータはyamlファイルのなかに書かれたオブジェクトの

name:

kind:

を見ます。

2021-07-25_11-50-22.png

そして更新後もファイルが同じ

name:

kind:

を使っているのなら、そのファイルは前のファイルを更新したものだと認識するのです。

configファイル.png

もし、name: もしくは kind: のどちらかを違うものにしてしまうと、

『既存のpodを更新するのではなく、新しいpodを作るんだ』

とコンピュータが認識してしまうので、注意です。

まとめ

今回の記事は短いですが、ここで締めくくらせていただきます。

お役に立てれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?