オープンソース

Kubernetesのローリングアップデート

ローリングアップデートとは、KubernetesでDockerコンテナを使ったサービスのアップデート作業を行う手法です。この方法を使うと、従来のサーバでのアップデート作業に比べ、非常に安全かつ確実にアップデート作業を行うことができるようになります。ここでは、Kubernetesのローリングアップデート機能の概要について解説します。

ローリングアップデートとは?

ローリングアップデートとは、同じ機能を持った複数のコンピュータで構成している場合のシステムをアップデートする手法の一つです。システムの稼動状態を維持しながら、1台ずつ順番にアップデートを行っていきます。

例えば、4台のWebサーバをロードバランサーで負荷分散しているシステムを例にとってみます。性能を犠牲にすることができる場合には、1台のコンピュータをロードバランサから切り離し、アップデートした後でシステムに組込むという作業を繰り返すことになります。
もし、性能を犠牲にすることができない場合には、別のコンピュータに新しいWebサーバを構築し、まず一台を入れ替えます。次に、入れ替えたコンピュータをアップデートして、また入れ替えをします。

このように、1台ずつを順番に入れ替えることからローリングアップデートと呼ばれています。

ローリングアップデート:性能を犠牲にできる場合とできない場合

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

ローリングアップデートのメリットは、無停止でシステムのバージョンアップを実現できることです。ただ、手順は非常に煩雑ですし、システムの切り替えが4回も発生する可能性があります。さらに、アップデート作業を行っている間は、2つのバージョンが混在することになります。
そのため、トラブルシューティングを行いにくかったり、管理の手順が違ってしまうなどのデメリットがあります。

Kubernetesのローリングアップデート

Kubernetesでは、ローリングアップデートを支援する機能を持っています。
Kubernetesのローリングアップデート機能は、デプロイメント内のPod数の上限を一時的に引き揚げます。そして、古いPodから新しいPodに順次入れ替えを行っていきます。一度にアップデートを行うPodの数は、設定によって調整することができます。

ローリングアップデートの流れ

Kubernetesローリングアップデートの詳細手順

ローリングアップデートのオペレーション手順の詳細については、「Kubernetes調査報告書」の「Chapter 8 コンテナアップデートの作業検証」を参照してください。

デモのお申込み

もっと使い方が知りたい方へ
Kubernetesの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。Kubernetesのデモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ


OSS情報「Kubernetes」

Kubernetes〜コンテナ管理の課題を解決するOSS〜
ここでは、Dockerコンテナの管理を自動化するためのソフトウェア「Kubernetes」を紹介します。
Kubernetesクラスタの構築
ここでは、CentOS7に最小限のKubernetesクラスタを構築する方法について説明いたします。
KubernetesのPod機能
ここではPod機能について説明いたします。
Kubernetesのレプリカセットとデプロイメント
ここではデプロイメントという機能を利用してレプリカセットを作成する方法について説明いたします。
Kubernetesのアーキテクチャ
ここではアーキテクチャについて説明いたします。
Kubernetesのコンテナアップデート
ここでは、Kubernetesでソフトウェアをアップデートする場合の手法について説明いたします。
Kubernetesのローリングアップデート
ここでは、Kubernetesのローリングアップデート機能の概要について説明いたします。
Kubernetesのダッシュボード
ここでは管理用のダッシュボードについて説明いたします。
Kubernetesの永続ストレージ
ここでは永続ストレージについて説明いたします。
Rancher〜Kubernetesの管理ソフトウェア〜
ここでは、Kubernetesの管理ソフトウェアのRancherについて紹介します。
GitLab〜Dockerのプロジェクト管理とレジストリ〜
GitLabは、ウェブ型のGitリポジトリマネージャーです。ここではGitLabのコンテナレジストリについて説明いたします。
DRBD-SDSとKubernetes
ここではDRBD-SDSを利用することでサービスの冗長化を実現させる手法について説明いたします。
Falco〜コンテナの侵入・改ざん検知ツール〜
ここではKubernetesを代表するコンテナ環境をターゲットにしているコンテナランタイムセキュリティソフトウェアのFalcoについて説明いたします。
Trivy〜コンテナイメージの脆弱性診断ツール〜
Trivyは、コンテナイメージの脆弱性診断ツールです。ここではTrivyの機能や特徴などについて説明いたします。
コンテナ型仮想化に関連したOSS
ここでは、コンテナ型仮想化に関連したOSSを紹介いたします。

Kubernetesのローリングアップデートの先頭へ