DockerとKubernetesは、それぞれ何を可能にしているのか
Dockerは単一サーバのホストOS上にコンテナ環境を構築する。
Dockerとはコンテナエンジンの業界標準であり、主要なクラウドサービス、サーバにサポートされている。
Dockerは、単一サーバのホストOS上に複数のコンテナを立ち上げ、1つのコンテナに1つのアプリケーションを割り当て管理することで、コンテナ環境を構築する。
Dockerには、コンテナ内の環境を保存・移行できる「Dockerファイル」、コンテナ内のデータをバイナリファイルとして保存・移行できる「Dockerイメージ」という仕組みが用意されている。
また、様々なミドルウェアやアプリケーションをインストール済みのDockerファイルが多数登録された「Docker Hub」、Dockerコンテナを立ち上げて脆弱性をチェックする「Docker Desktop」というサービスもある。
Dockerを利用することで、様々な設定のコンテナ環境の構築、コンテナ環境やコンテナ内データの保存・移行が容易になる。
Kubernetesは複数サーバ上に横断的に構築されたコンテナを管理する。
Kubernetesとはコンテナオーケストレーションツールの業界標準であり、オンプレミス・クラウドの両方で利用可能である。
Kubernetesを使えば、複数サーバ上に横断的に構築されたコンテナを適切に管理し、柔軟にスケーリングし、障害時にコンテナを自己回復することが可能だ。
また、必要に応じて適切なコンテナを適切なサーバに立ち上げたり、負荷に応じてコンテナを自動的に増減させたり、コンテナを自動ビルドしたり、アプリケーションの公開を自動化したりすることもできる。
Kubernetesは、Dockerなどによって構築された複数のコンテナの管理と自動化を担っているのだ。