Kubernetes についてざっくりググったのでメモしておく。
コンテナ仮想化ソフトウェア(Dockerなど)の運用管理・自動化を行うために開発されたオープンソースソフトウェア。
コンテナは単体でアプリケーションを実行できるが、コンテナを管理したり他のサーバと連携させたりする機能は持っていない。
コンテナオーケストレーションツールのひとつ(コンテナオーケストレーションとは、複数あるコンテナを管理する技術のこと)。複数のコンテナを運用する場合、ネットワークやストレージなどの連携管理を行う必要がある。コンテナオーケストレーションツールはこれらの管理を行ってくれる。コンテナがダウンしたり、アプリケーションに高負荷がかかったりした場合もスムーズに運用できる。
(画像出典: Kubernetesのコンポーネント | Kubernetes )
たくさんあるが3つピックアップする。
以下それぞれの話。
サーバにあるアプリケーションのポート番号やIPアドレスなどを知ることができる。また、どのようなアプリケーションが動いているのかを知ることもできる。
コンテナがダウンしてしまったり誤って削除してしまったりした場合も自動で回復させることができる。(耐障害性が強い)
ストレージが管理できる。データはコンテナに記録され、有効期限が定められた状態でPod内に保存される。
Dockerは、アプリケーションをコンテナの中で管理し、実行できるようにする実行環境およびツール群のこと。Kubernetesはクラスターという場所で実行されるのに対し、Dockerはシングルノードで実行される。クラスターとは、コンテナの配置や削除を行うときに指示を出す部分で、ノードとは、クラスタを構成している各サーバーを指す。
Docker はアプリケーションを各コンテナに分離するところまで。Kubernetes は、それぞれのコンテナを管理するところ(管理する手間を削減してくれるところ)を担当する。
GKE(Google Kubernetes Engine)
https://cloud.google.com/kubernetes-engine
Kubernetes を使わないコンテナオーケストレーターサービスはない。
AKS(Azure Kubernetes Service)
https://azure.microsoft.com/ja-jp/services/kubernetes-service/#overview
Kubernetes を使わないコンテナオーケストレーターサービス
Service Fabric
https://docs.microsoft.com/ja-jp/azure/service-fabric/service-fabric-overview
EKS(Amazon Elastic Container Service for Kubernetes)
https://aws.amazon.com/jp/eks/
Kubernetes を使わないコンテナオーケストレーターサービス
ECS(Amazon Elastic Container Service)
https://aws.amazon.com/jp/ecs/
https://kubernetes.io/ja/docs/concepts/overview/
https://udemy.benesse.co.jp/development/system/kubernetes.html
https://www.kagoya.jp/howto/cloud/container/kubernetes/
https://cloud-ace.jp/column/detail229/
https://www.redhat.com/ja/topics/containers/what-is-kubernetes