KubernetesでDeploymentのRollback

こんにちは、サイオステクノロジー技術部 武井です。KubernetesでDeploymentのRollbackを試してみました。

Kubernetesには、いつでも旧バージョンのデプロイに戻せるようにDeploymentのRollback機能があります。試したのはAzure Kubernetes Serviceですが、他のクラウドサービス上のKubernetesでも同じだと思います。

以下のようにhogeと表示する単純なPHPをVer1.0とします。

こちらの記事の方法に従って、Azure Container Registryにpushして、以下のkubectlコマンドでデプロイします。–recordオプションをtrueにしたのは、変更履歴に残したいためです。

 

以下のコマンドで変更履歴を確認してみます。先程デプロイした履歴がREVISION 1として記録されています。

 

portfowardでコンテナの動作を確認してみます。

hogeと表示されました。期待どおりです。

 

次に先程のPHPを以下のように変更してみます。

 

同じようにこちらの記事の方法に従って、Azure Container Registryにpushして、以下のkubectlコマンドでデプロイします。

 

同じように以下のコマンドで変更履歴を確認してみます。先程デプロイした履歴がREVISION 2として記録されています。

 

portfowardでコンテナの動作を確認してみます。

fugaと表示されました。期待どおりです。

 

では、前のバージョンにRollbackしてみます。kubectl rollout undo deploymentコマンドで以下のように行います。Revisionを1に戻したいので、–to-revisionで1を指定します。

portfowardでコンテナの動作を確認してみます。

hogeと表示されました。一つ前のRevisionに戻せました。

Kubernetesではこんなに簡単に前のバージョンに戻せるので、とっても便利ですね。万が一のステップバックも簡単です。

>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*