Kubernetesの概要をまとめました。
Kubernetesとは
KubernetesはK8sなどと表記されます。Kubernetesの読み方はクーバネティス、クバネティス、クベネティスなどで、意味はギリシャ語で操蛇手、パイロットを意味します。Kubernetesはコンテナの運用管理と自動化を行うオープンソースのソフトウェアです。
Kubernetesはコンテナを管理するソフトウェア
Kubernetesを一言で言うとコンテナを管理するソフトウェアです。
コンテナをクラスター化させて使う、それがKubernetes
コンテナを使用可能なソフトウェアとしてDockerがありますが、Dockerは複数のコンテナをクラスターを組んで使用することができません。
Kubernetesは、複数のコンテナをクラスターとして使用することができます。
コンテナとは
コンテナは、WindowsやLinuxなどのホストOS上で動作するもので、アプリをコンテナ上で動作させる形で使用します。
クラスターとは
クラスターは、複数のコンテナを一つのサーバーで使えるように束ねておき、どれかひとつのコンテナが仮に強制終了するなどしても問題なく他のコンテナが稼働している状態にできる構成のことです。
コンテナ(Dockerなど)とKubernetesの違い
コンテナとKubernetesの違いを表にまとめました。
コンテナ | Kubernetes | |
構造 | 単一ノード | 複数のコンテナをまとめる、クラスター構成 |
アプリケーションの管理 | コンテナ上でアプリケーションを動作させる | コンテナ上でアプリを動作させるという概念は変わらないが、そのコンテナの複数台をKubernetesで管理する |
Kubernetesを導入するメリット
Kubernetesの導入には以下のメリットがあります。
- スケーラビリティがあり、可用性が向上する
- 複数のコンテナをクラスター化させて管理できるため障害に強い
- Google Cloudでも使用が可能
Google Cloud でも GKE (Google Kubernetes Engine)として使用可能
Google Cloud Platformでも、KubernetesはGoogle Kubernetes Engineとして使用することができます。
GKEの詳細については別の記事でまとめます。
Ansibleとの違い
AnsibleはOSの構築を自動化するものですが、Kubernetesはコンテナの構築を自動化するために使用します。