Githubページから読むと:
Kubernetesは、コンテナ化されたアプリケーションを複数のホストにわたって管理するためのオープンソースシステムであり、アプリケーションのデプロイ、メンテナンス、スケーリングのための基本的なメカニズムを提供します。
Kubernetesは次のとおりです。
lean: lightweight, simple, accessible
portable: public, private, hybrid, multi cloud
extensible: modular, pluggable, hookable, composable
self-healing: auto-placement, auto-restart, auto-replication
Kubernetesは、コミュニティでの最高のアイデアと実践を組み合わせた、大規模な本番ワークロードの実行における10年半の経験に基づいて構築されています。
私にとってKubernetesは、Googleのコンテナオーケストレーションツールです。その設計により、任意のコンテナーエンジンとの互換性を実装できますが、今ではDockerに限定されていると思います。そのアーキテクチャにはいくつかの重要な概念があります。
Kubernetesは次の概念で動作します。
クラスタは、コンテナが構築される計算リソースです。Kubernetesはどこでも実行できます。さまざまなサービスの手順については、スタートガイドを参照してください。
ポッドは、共有ボリュームを持つDockerコンテナーの同じ場所に配置されたグループです。これらは、Kubernetesで作成、スケジュール、管理できる最小のデプロイ可能なユニットです。ポッドは個別に作成できますが、単一のポッドを作成する場合でも、レプリケーションコントローラを使用することをお勧めします。ポッドの詳細。
レプリケーションコントローラは、ポッドのライフサイクルを管理します。必要に応じてポッドを作成または強制終了することにより、指定された数のポッドが常に実行されていることを確認します。レプリケーションコントローラの詳細。
サービスは、一連のポッドに単一の安定した名前とアドレスを提供します。これらは基本的なロードバランサーとして機能します。サービスの詳細。
ラベルは、キーと値のペアに基づいてオブジェクトのグループを整理および選択するために使用されます。ラベルの詳細。
したがって、コンテナが実行されるクラスタを形成するマシンのグループがあります。Yoは、figのような他のツールと同じように、サービスを提供するコンテナーのグループを定義することもできます(つまり、webappポッドは、railsサーバーとpostgresデータベースにすることができます)。また、同時に実行されるサービスのコンテナー/ポッドの数を保証する他のツール、Key-Valueストア、一種の組み込みロードバランサー...
coreosについて何か知っている場合、それは非常によく似たソリューションですが、Googleからのものです。Algo KubernetesはGoogle Cloud Engineと適切に統合されています。