今日学んだこと:Kubernetesに関して

2025年9月7日

概要

今日はKubernetesについて学んだ。

Kubernetesとは?

Kubernetesとは、 コンテナの運用管理と自動化を行うために設計されたオープンソースソフトウェア。 読み方は「クバネティス」もしくは「クーベネティス」。

Kubernetesの操作対象は、Dockerをはじめとするコンテナ。 コンテナは各種アプリケーションを実行してくれるが、 それ自体を管理したり、別サーバーと連携したりはできない。 そのため、複数ホストでコンテナを運用したい場合などは、管理が煩雑になってしまう。

Kubernetesは、このような問題を解決してくれるシステム。 Kubernetesを使えば、複数ホストでコンテナを運用する場合に、 ネットワークやストレージなどの連携管理が可能となる。 このような仕組みは「コンテナオーケストレーション」とも呼ばれる。

Dockerとは何が違うのか?

Kubernetesについて学んでいく過程で、 多くの人が抱く疑問が「Dockerとは何が違うの?」というもの。 確かに Dockerも Kubernetes同様に、 コンテナを用いてアプリケーションを実行するソフトウェアのひとつ。 ただし、両者はそれが実行される場所、および利用目的が大きく違う。

実行される場所について言えば、Kubernetesはクラスタで実行されるのに対して、 Dockerは単一ノードで実行される。 「クラスタ」とは、コンテナの配置や削除を行うときに指示を出す部分で、 「ノード」とは、クラスタを構成している各サーバーを指す。

利用目的について言うと、上述の通り、 Kubernetesの利用目的は各コンテナを管理すること。 一方で、Dockerの目的はアプリケーションを各コンテナに分離すること。

Kubernetesを利用する7つのメリット

  • アプリケーションの効率的な新機能リリースが可能
  • 障害に強い自己回復機能
  • オンプレミス・クラウドの両環境で利用可能
  • 高速・軽量な起動で開発スピードを加速できる
  • 柔軟にスケーリングできる
  • サービスディスカバリーで動作を把握できる
  • セキュリティを強化できる

参考文献・リンク

https://cloud-ace.jp/column/detail229/

https://qiita.com/tadashiro_ninomiya/items/6e6fea807b2a16732b5b