【Kubernetes】デプロイ戦略についてざっくり理解する

スポンサーリンク

はじめに

Kubernetesにおけるデプロイ戦略をざっくりまとめてみたいと思います。

デプロイ戦略

ここで紹介するデプロイ戦略は下記になります。

  • ローリングアップデート
  • Recreate
  • ブルーグリーンデプロイ
  • レインボーデプロイ
  • カナリアデプロイ

Kubernetesでは、DeploymentのマニフェストでローリングアップデートとRecreateが選択できます。

ローリングアップデート

ローリングアップデートは、全てのPodが新しいバージョンになるまで1つずつ更新されていきます。

メリットデメリット
・ダウンタイムがゼロ・2つのバージョンが混在
・比較的ゆっくりロールアウト

Kubernetesでは、Deploymentのマニフェストでデプロイ戦略を指定します。ローリングアップデートはデフォルトの設定になっています。

また、maxSurgemaxUnavailableというオプションがあります。アップデート中に超過できるレプリカ数と利用可能なレプリカ数の指定ができます。

【Kubernetes】ローリングアップデートをやってみる
はじめにKubernetesのデプロイ戦略として、ローリングアップデートを実際に動かして試してみます。Kubernetesでの代表的なデプロイ戦略については、下記でざっくりまとめています。ローリングアップデートとはローリングアップデートは、...

Recreate

Recreateは、全てのPodを同時に終了し、新しいバージョンのPodを同時に起動します。

メリットデメリット
・異なるバージョンが同時に実行されない・ダウンタイムがある

Kubernetesでは、Deploymentマニフェストの.spec.strategy.typeRecreateを指定することで設定可能です。

【Kubernetes】Recreateをやってみる
はじめにKubernetesのデプロイ戦略として、Recreateを実際に動かして試してみます。Kubernetesでの代表的なデプロイ戦略については、下記でざっくりまとめています。RecreateとはRecreateは、全てのPodを同時...

ブルーグリーンデプロイ

ブルーグリーンデプロイは、新しいバージョンを実行してからトラフィックを切り替えます。

メリットデメリット
・ダウンタイムがゼロ
・異なるバージョンが同時に実行されない
・すぐに旧バージョンに戻せる
・2倍のリソースが必要

Kubernetesでは、PodのLabelを利用してServiceからのトラフィック送信先を指定することで実現できます。

【Kubernetes】DeploymentとServiceでブルーグリーンデプロイやってみる
はじめにKubernetesのデプロイ戦略として、DeploymentとServiceだけでブルーグリーンデプロイを動かしてみます。Kubernetesでの代表的なデプロイ戦略については、下記でざっくりまとめています。ブルーグリーンデプロイ...

レインボーデプロイ

レインボーデプロイは、3つ以上のバージョンが実行される可能性があるブルーグリーンデプロイです。

アプリケーションとの接続が長時間になる場合に利用されます。古いバージョンのアプリケーションの接続がなくなると、そのバージョンを終了します。

メリットデメリット
・ダウンタイムがゼロ
・すぐに旧バージョンに戻せる
・接続が長時間でもアップデート可能
・3倍以上のリソースが必要

Kubernetesでの実装は下記で解説がされています。

GitHub - bdimcheff/rainbow-deploys: 🌈 🌈 🌈
🌈🌈🌈.Contributetobdimcheff/rainbow-deploysdevelopmentbycreatinganaccountonGitHub.

カナリアデプロイ

カナリアデプロイは、少数の新しいバージョンをデプロイし、問題がなければ徐々に新しいバージョンを増やしていきます。

メリットデメリット
・ダウンタイムがゼロ
・すぐに旧バージョンに戻せる
・新しいバージョンを本番環境で試せる
・様子を見ながら新しいバージョンに移行できる
・ロールアウトまで時間がかかる
・モニタリングの手間がかかる

Kubernetesでは、ブルーグリーンデプロイ同様にLabelを用いて実装します。

【Kubernetes】DeploymentとServiceでカナリアデプロイやってみる
はじめにKubernetesのデプロイ戦略として、DeploymentとServiceだけでカナリアデプロイを動かしてみます。Kubernetesでの代表的なデプロイ戦略については、下記でざっくりまとめています。カナリアデプロイとはカナリア...

参考

タイトルとURLをコピーしました