TL;DR
コンテナ化されたワークロードとサービスを管理する、移植性と拡張性のあるオープンソースのプラットフォーム。宣言的な設定と自動化の両方を支える。K8s とも略す。
なぜ必要か
公式ドキュメントによると、Kubernetes は分散システムを回復力をもって動かすための枠組みを提供する。アプリケーションのスケーリングやフェイルオーバーを引き受け、デプロイのパターンも提供する。
主な機能として、サービスディスカバリと負荷分散、ストレージのオーケストレーション、自動的なロールアウトとロールバック、自己修復、Secret と設定の管理、水平スケーリングが挙げられている。
仕組み
Kubernetes は、互いに独立して組み合わせられる制御プロセスの集まりである。各プロセスは、現在の状態を、利用者が宣言した望ましい状態へ継続的に近づける。
注意点
Kubernetes は何でもそろった従来の PaaS ではない。ソースコードのデプロイやアプリケーションのビルドはせず、データベースやキャッシュのようなアプリケーションレベルのサービスも組み込みでは提供しない。
名前はギリシャ語で「操舵手」や「パイロット」を意味する。K8s は、K と s の間にある 8 文字を数えた略である。Google が 2014 年にオープンソース化した。