同じコンテナ技術 Docker(仮想化)とKubernets(クラスタ)の最大の違い

Dockerは仮想化。

Kubernetesはクラスタ。

仮想化、知ってる知ってる。クラスタ?同じでしょ?

・・・いいえ。180度違います。

その最大の違いは。ずばり。


Docker(仮想化)とKubernets(クラスタ)の最大の違い

[blogcard url=”https://x.com/DenorJp/status/1806433977403924740″]

Docker Podman VMware 仮想化と

Kubernetes クラスタの決定的な違いは

  • 仮想化「1台のPCでプロセス1000個動かすぞー」
  • クラスタ「1000個のプロセスを1000台のPCで動かすぞー」

仮想化は1台のPCを皆で使いましょう

Windows 11は、およそ200個のプロセス(アプリやサービス)が動作します。

「仮想化」は、1台のPCで、複数のOS=Windows 11を5個起動すれば、プロセス1000個~を動かす形です。

1台のPCを、皆で使いましょう。という考え方。


クラスタは200台のPCを1人で使いましょう

コンテナでWordPresssを起動した場合。

Docker仮想化では、1台のPCで、MariaDBとHttpdが動作します。

Kubernetsクラスタでは、2台のPCそれぞれで、MariaDBとHttpdが動作します。

つまり、Kubernetsは、200個のプロセスを、200台のPCで動かすための基盤~クラスタ基盤となります。

仮想化とは、考え方が真逆といえますよね。1台を皆で使うか。200台を一人で使うか。


クラスタに高価なPCは必要ないけれど 複数ユーザが快適に接続

VMWareやDockerのような仮想化は、高価なPCが必要です。

Kubernetsは、極端な話、仮想化の1/1000の性能のPCを、1000台接続して、同じ性能として使いましょう、という考え方になります。

1000台のうち、1~2台故障しても、Kubernetesが別の元気なPCに、プロセスをライブ・マイグレーションしてくれるため、使用者は故障に気づきません。

高価なPCを皆で使っても、故障すればサービス停止です。

クラスタは、故障してもプロセスが元気なPCに移動します。実際は、200台を一人で使うのではなく、複数のユーザが同時に使用してこそ、クラスタの性能が活かせるはずです。

 


[amazonjs asin=”B0C1YY8GSB” locale=”JP” title=”ミニpc 最新第12世代 n95 ミニpc動作より安定 2023新版 最大3.4GHz mini pc 4C 4T 16GB換装可 8GB 256GB SSD 容量拡大可能 4K 静音 高速熱放散 小型pc超軽量豊富なインターフェース USB3.0/HDMI 2.0高速2.4G/5GWi-Fi BT4.2 省電力 Win11対応”]

まあ、何が言いたかったかというと。

  • クラスタを、仮想化の延長として見ているのならそれは間違い。
  • クラスタに高価なPC(スケールアップ)は必要ない。安価なPCをたくさん接続する(スケールアウト)という考え方。

このあたりが、クラスタの肝だと思います。

同じコンテナ技術ですが、方向性は真逆ですよ。と記録させて頂きます。

[amazonjs asin=”4297140179″ locale=”JP” title=”Docker/Kubernetes実践コンテナ開発入門 改訂新版”]

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です