検索
特集/連載

仮想マシン(VM)とベアメタルサーバの基本的な違いは? Kubernetes視点で比較「Kubernetes」インフラ比較 VMかベアメタルか【前編】

「Kubernetes」のインフラに適しているのは、VMとベアメタルサーバのどちらなのか。オーバーヘッドやリソース管理など、両者の基本的な違いを整理する。

Share
Tweet
LINE
Hatena

 コンテナオーケストレーションツールの「Kubernetes」を利用してコンテナを運用する際は、そのインフラを決める必要がある。代表的な選択肢は仮想マシン(VM)とベアメタルサーバ(物理サーバ)だ。

 万能のインフラはない。コンテナのインフラとして何が適切なのかは、コンテナで稼働させるアプリケーションの利用規模に加えて、確保可能なCPUやメモリなどのリソース、コストといった要件によって異なる。本連載はコンテナのインフラとしての、VMとベアメタルサーバそれぞれの長所と短所を探る。

いまさら聞けないVMとベアメタルの「基本的な違い」

 VMとベアメタルサーバの大きな違いは、ハイパーバイザーのオーバーヘッド(余分な処理負荷)の有無だ。コンテナをベアメタルサーバで稼働させると、IT管理者は全てのリソースをコンテナに割り当てることができる。ネットワークを用いたデータ転送やストレージの読み取り・書き込みの操作も、ベアメタルサーバが直接処理する。VMを利用する場合に生じる、ハイパーバイザーのオーバーヘッドは発生しない。

 ベアメタルサーバにこのようなメリットがあるとしても、VMが選択肢から外れるとは限らない。仮想化ベンダーは長い年月をかけて、ハイパーバイザーを改良してきた。最新のハイパーバイザーは、オーバーヘッドを大幅に低減させている。VMのデプロイ(利用可能な状態にすること)のしやすさや拡張性の高さを考慮すると、ハイパーバイザーの利用で生じるわずかなオーバーヘッドは気にならない可能性がある。

 VMでKubernetesを運用すると、複数の規模の「ノード」(コンテナを管理する最小単位である「ポッド」をホストするサーバ)が構築しやすくなる。ハイパーバイザーが、リソースを適切な状態に管理する。ベアメタルサーバでKubernetesを運用する場合、実行中のポッドは、ベアメタルサーバの豊富なリソースを利用できる。ベアメタルサーバのKubernetesで全てのコンテナを運用する場合、ポッド単位での詳細なリソース制御がしやすくなる。


 中編は、主にVMでKubernetesを運用する際のメリットと課題を整理する。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る