Rollingupdatestrategy について

guerrillabuzz-7hA2wqBcSF8-unsplash.jpg

質問

Rollingupdatestrategy について詳細に解説してください。
メリットはなんですか?


解答

RollingUpdateStrategy(ローリングアップデート戦略)は、

Kubernetes において Deployment や DaemonSet などがアプリケーションを段階的に更新するための戦略です。


これは、古いバージョンの Pod を一度にすべて停止せずに、少しずつ新しいバージョンに置き換える方法です。
そのため、サービスを停止せずにデプロイを行えるという大きな特徴があります。


◆ 基本的な考え方

ローリングアップデートでは、

  1. 新しいバージョンの Pod を一部立ち上げる

  2. それが正常に稼働していることを確認する

  3. 問題なければ古い Pod を順次停止する
    という流れを繰り返します。

これにより、システム全体を止めずにアップデートが完了します。


◆ Deployment の例

Deployment マニフェスト内では、以下のように設定します。

strategy:  type: RollingUpdate  rollingUpdate:    maxUnavailable: 1    maxSurge: 1

パラメータ解説

パラメータ意味
type戦略の種類。RollingUpdate または Recreate(全停止→再起動)を指定
maxUnavailableアップデート中に「利用不可能」になってよい Pod の数または割合(例: 125%
maxSurge一時的に「通常より多く」作成してよい Pod の数または割合(例: 125%

動作イメージ

たとえば replicas が 4 の場合:

段階稼働中のPod (新/旧)状況
初期旧×4旧バージョン全稼働
Step 1新×1 + 旧×4maxSurge により一時的に5つ稼働
Step 2新×1 + 旧×3正常確認後、旧1つ停止
Step 3新×2 + 旧×2順次入れ替え継続
最終新×4新バージョン全稼働

このように、「古いものを1つ止めて、新しいものを1つ立ち上げる」 を繰り返します。


◆ メリット

  1. ゼロダウンタイムデプロイ

    • サービスを止めずにバージョンアップが可能。

    • ユーザーへの影響を最小限にできる。

  2. 段階的リリースが可能

    • もし新バージョンに問題があれば、その時点で停止やロールバックができる。

  3. 負荷の平準化

    • Pod が一度に再起動しないため、システム全体の負荷が急増しない。

  4. 柔軟な制御

    • maxUnavailable / maxSurge の調整により、安定性と速度のバランスを取れる。


◆ デメリット・注意点

  1. リソースが一時的に増加する

    • maxSurge によって一時的に Pod 数が増えるため、リソースに余裕が必要。

  2. ステートフルなアプリには不向き

    • セッションを持つアプリ(例: 状態を内部に持つ DB)は、Pod が入れ替わるとセッション切断などが起きる。

  3. 複雑な依存関係のあるシステムでは慎重な設計が必要

    • バックエンドやキャッシュなど、他サービスとの整合性を考慮しないと不整合が起きる。


◆ 代替戦略:Recreate との比較

戦略特徴向いているケース
RollingUpdate順次入れ替え。サービス継続可能Webアプリ、APIサーバーなど
Recreate全停止 → 全再起動データベース、セッションを持つアプリなど

◆ ローリングアップデートのメリットまとめ

  • 高可用性を維持したまま更新可能

  • 失敗時は即座にロールバック可能

  • デプロイの自動化が容易

  • 負荷・リスクを分散できる


もしあなたが 高可用性Webサービスマイクロサービス構成 を運用している場合、
RollingUpdateStrategy は最もバランスの取れた更新方法といえます。
ただし、状態を持つアプリや重い初期化処理を行うアプリでは、
maxUnavailable / maxSurge の値を慎重に設定する必要があります。




OWASP ZAPとGitHub Actionsで自動化する脆弱性診断【電子書籍】[ 松本 隆則 ]

価格:1980円
(2025/11/17 20:32時点)
感想(0件)


世界で一番やさしい木構造 増補改訂版 [ 山辺 豊彦 ]

価格:3300円
(2025/9/4 20:48時点)
感想(1件)


 



この記事へのコメント

広告です。クリックいただけると励みになります。