【Kubernetes】イメージを更新するには (Declarativeアプローチで) no.10
こんにちは。まゆみです。
Kubernetesについての記事をシリーズで書いています。
前回・前々回の記事で、yamlファイルにDeploymentやServiceオブジェクトの設定内容をどのように書くかを解説させていただきました。
今回の記事では、
- Podの中のContainerのイメージを更新するにはどうしたら良いか
- イメージを更新するときに水面下で行われていること
を解説していこうと思います
さっそく始めていきますね。
イメージの更新の仕方
実はイメージを更新するのは (Declarative(宣言型)のアプローチを使えば) ものすごく簡単です。
deployment.yamlファイルの
spec > containers > image
Imperativeなアプローチの場合、イメージを更新するのは大変でした。(こちらの記事でImperativeな方法によるイメージの更新の仕方を紹介しています)
①更新したイメージをdocker hubにpush して
②kubectl set imageコマンドでイメージを更新する
というやや複雑なものでしたが、Declarativeな方法によれば、yamlファイルのimage名を書き換えるだけで良いのです。
yamlファイルを更新するときに水面下で起こっていること
上で記したように、yamlファイルのimage: の項目を新しいイメージ名にして
kubectl apply -f=<yamlファイル名>
とすれば、イメージが更新されて新たなオブジェクトが作られます。
この時水面下で何が起こっているかというと
コンピュータはyamlファイルのなかに書かれたオブジェクトの
name:
kind:
を見ます。
そして更新後もファイルが同じ
name:
kind:
を使っているのなら、そのファイルは前のファイルを更新したものだと認識するのです。
もし、name: もしくは kind: のどちらかを違うものにしてしまうと、
『既存のpodを更新するのではなく、新しいpodを作るんだ』
とコンピュータが認識してしまうので、注意です。
まとめ
今回の記事は短いですが、ここで締めくくらせていただきます。
お役に立てれば幸いです。
Author And Source
この問題について(【Kubernetes】イメージを更新するには (Declarativeアプローチで) no.10), 我々は、より多くの情報をここで見つけました https://qiita.com/Mayumi_Pythonista/items/ab0e3258cc29fb7598e9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .