仮想マシン(VM)とベアメタルサーバの基本的な違いは? Kubernetes視点で比較:「Kubernetes」インフラ比較 VMかベアメタルか【前編】
「Kubernetes」のインフラに適しているのは、VMとベアメタルサーバのどちらなのか。オーバーヘッドやリソース管理など、両者の基本的な違いを整理する。
コンテナオーケストレーションツールの「Kubernetes」を利用してコンテナを運用する際は、そのインフラを決める必要がある。代表的な選択肢は仮想マシン(VM)とベアメタルサーバ(物理サーバ)だ。
万能のインフラはない。コンテナのインフラとして何が適切なのかは、コンテナで稼働させるアプリケーションの利用規模に加えて、確保可能なCPUやメモリなどのリソース、コストといった要件によって異なる。本連載はコンテナのインフラとしての、VMとベアメタルサーバそれぞれの長所と短所を探る。
いまさら聞けないVMとベアメタルの「基本的な違い」
併せて読みたいお薦め記事
コンテナのインフラを選択する
- 「コンテナ」の良さとは? 「HCI」で「Kubernetes」を動かす意味は?
- 「Kubernetesクラスタ」の自前構築はなぜ難しい? Kubernetes運用の基礎知識
- クラウド環境でマネージドKubernetesを使うメリットとデメリット
VMとベアメタルサーバの大きな違いは、ハイパーバイザーのオーバーヘッド(余分な処理負荷)の有無だ。コンテナをベアメタルサーバで稼働させると、IT管理者は全てのリソースをコンテナに割り当てることができる。ネットワークを用いたデータ転送やストレージの読み取り・書き込みの操作も、ベアメタルサーバが直接処理する。VMを利用する場合に生じる、ハイパーバイザーのオーバーヘッドは発生しない。
ベアメタルサーバにこのようなメリットがあるとしても、VMが選択肢から外れるとは限らない。仮想化ベンダーは長い年月をかけて、ハイパーバイザーを改良してきた。最新のハイパーバイザーは、オーバーヘッドを大幅に低減させている。VMのデプロイ(利用可能な状態にすること)のしやすさや拡張性の高さを考慮すると、ハイパーバイザーの利用で生じるわずかなオーバーヘッドは気にならない可能性がある。
VMでKubernetesを運用すると、複数の規模の「ノード」(コンテナを管理する最小単位である「ポッド」をホストするサーバ)が構築しやすくなる。ハイパーバイザーが、リソースを適切な状態に管理する。ベアメタルサーバでKubernetesを運用する場合、実行中のポッドは、ベアメタルサーバの豊富なリソースを利用できる。ベアメタルサーバのKubernetesで全てのコンテナを運用する場合、ポッド単位での詳細なリソース制御がしやすくなる。
中編は、主にVMでKubernetesを運用する際のメリットと課題を整理する。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.