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】イメージを更新させるには。no.5

Last updated at Posted at 2021-07-20

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

こんにちは。

まゆみです。

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

今回の記事では、

ソースコードに変更があった場合、どのように新しいコードに更新させるか

ということに焦点を置いて書いていこうと思います。

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

#新しいコードに更新してみる

では、nodeのアプリを例に説明していきます

例えば、app.jsファイルのテキストに少し変更を加えてみましょう。

この場合、app.jsファイルを書き換えたあと

docker build -t <Image名> .

とImageを再度buildし直しますよね。

その時に、前のイメージ名と同じだと、Kubernetesが新しく更新されたものだと認識してダウンロードし直してくれません。

なので、イメージを新しく作り替えてDocker hubにpushし、そこからpodを作り直すには

docker build -t <image名>:2

と、-t でタグ付けしたイメージに新しいバージョンだと分かるように:(コロン)と数字を書きましょう

例えば、現在Docker hubにあるイメージが、下記のスクショのようなものだとすると

2021-07-20_14-46-33.png

mayumidocker0612/kub-first-app:2

など末尾にバージョンの番号を振ります。

そして新しいイメージをdocker hub にpush します(Kubernetesを使う時はローカルにあるイメージからpodは作れません。Docker hubなどからイメージを引っ張ってpodを作ることになります。)

その後

kubectl set image <オブジェクトの種類>/<オブジェクトの名前> <コンテナ名>=<新しいバージョンのDocker hubにあるイメージ>

で更新する事ができます

ダッシュボードを見てみましょう

2021-07-20_16-18-24.png

新しく更新したイメージによってpodが作られているのが分かります。

また

kubectl rollout status deployment/<deployment名>

で『deployment "deployment名" successfully rolled out』と表示されれば、上手くいっています

#まとめ

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

次回は今回とは逆にイメージをロールバックさせる時について書いていこうと思います

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?