1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

My Infrastructure JourneyAdvent Calendar 2024

Day 24

KubernetesとDockerの違い

Last updated at Posted at 2024-12-23

はじめに

アドベントカレンダーの先日の記事にコンテナの違いという内容を書きました。
その際コンテナエンジンとしてKubernetesとDockerを取り上げました。
ではそのDockerとKubernetesはどのようなものなのか、その違いについてこの記事では話していきたいと思います。

DockerとKubernetes

DockerとKubernetesは共にコンテナを用いてアプリケーションを実行するソフトウェアです。ですが両者には利用目的において明確な違いがあります。
ここではまずDockerとKubernetesそれぞれについて説明した後にDockerとKubernetesの違いについて説明していきます。

Dockerの仕組み

Dockerとはアプリケーションをコンテナの中で管理、実行するツール群を指します。
Dockerを使うことでアプリケーションのデプロイ、管理、共有を可能にするエコシステムを構築します。
皆さんの想像するコンテナ技術は基本的にこのDockerを使って構築できると思って良いでしょう。

sg for pods説明-ページ4.drawio.png

Kubernetesの仕組み

Kubernetesはコンテナオーケストレーションツールの一つです。コンテナオーケストレーションとは複数のコンテナを管理する技術のことで、Kubernetesには複数のコンテナを管理するKubernetes Podが備わり、さらに複数のPodがNodeにまとめられています。Nodeの集まりを「クラスタ」と呼び、クラスタはKubernetes全体構造の最上位階層に位置する部分です。Kubernetesがコンテナの配置や削除を行うときに直接指示を出すのがクラスターの役割です。このような構造がシステム効率を高めリソースを最大限活用し、機密情報の管理なども容易に行えます。

sg for pods説明-ページ3.drawio.png

KubernetesとDockerの違い

Kubernetes の利用目的は各コンテナを管理することです。一方で、Docker の目的はアプリケーションを各コンテナに分離することです。

この2つは使用目的が異なるため、どちらかのみを利用するのではなく、連携して使うことでコンテナを上手く活用できるようになります。
例えば、管理対象が大きくなってDockerが増えた場合などには、Kubernetesを活用することで複数の Dockerホストを管理する手間が減りコストを削減にも繋げられます。
その他、コンテナのスケジューリングやオートスケーリング、データの管理など、Dockerだけでは実現しにくいことが、Kubernetes を利用すると可能となります。

sg for pods説明-ページ5.drawio.png

おわりに

DockerとKubernetesを戦略的に併用することで、アプリケーション開発にさらなる可能性が生まれます。ここでこの技術に興味を持った人はぜひDockerとKubernetesを使って、適応性が高く効率的なソフトウェア開発環境を楽しんでください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?