LoginSignup
0
0

More than 1 year has passed since last update.

【Kubernetes】更新したイメージをロールバックさせるには? no.6

Posted at

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

こんにちは。まゆみです

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

前回の記事でContainerのイメージを更新した時にどのようにしたら反映されるかを書いてきました。

今回の記事では、逆に更新したイメージをまた元に戻すにはどうしたらいいのか書いていきますね。

ロールバック (1).png

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

1つ前のバージョンに戻りたい時

更新させる『1つ前』のものにロールバックさせたい時は下記のコマンドになります

kubectl rollout undo deployment/<deployment名>

特定の時点まで戻りたい

2.png

では何回か更新をした後、ある特定の時点までロールバックさせたい場合どうしたら良いのでしょうか?

kubectl rollout history deployment/<deployment名>

で今まで何回更新してきたかを見ることができます

そして先ほどのコマンドに --revision=オプションを付けることで特定の時点で使っていたImageなどを調べることができます

2021-07-22_9-36-49.png

私の場合で言いますと

latest は英語で 『Hello from this NodeJS app!』
2 は『こんにちは。nodeのアプリです』
3 は『こんにちは。nodeのアプリです。バージョン3です。』

とテキストを変えてバージョンを分けてみました。

Docker hubでは下のようにバージョン分けして保存されています

2021-07-22_9-45-33.png

--revision=を付けてそれぞれを詳しく調べると、--revision=5がタグが付いていない、latestバージョンのイメージで作ったdeploymentだと分かったので、この時点までロールバックさせます。

1つ前のバージョンにロールバックをする時に使ったコマンドに『--to-revision=』オプションを付けます

kubectl rollout undo deployment/<deployment名> --to-revision=5

2021-07-22_9-59-01.png

2021-07-22_10-08-58.png

--revision=4 ではImageのバージョン3が使われて更新されていたみたいなので、こちらの時点まで戻してみます。

kubectl rollout undo deployment/<deployment名> --to-revision=4

2021-07-22_10-15-45.png

2021-07-22_10-17-28.png

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