質問: kubernetesとは何か、dockerとの関連性は?
回答: dockerは、コンテナ化プラットフォームです。kubernetesは、dockerコンテナと連携するソフトウェアのプラットフォームです。 k8sとも呼ばれるkubernetesは、オープンソースのコンテナシステムで、コンテナの運用を自動化することを意味しています。kubernetesプラットフォームは、dockerコンテナをいつ、どのように、どこで実行するかを制御するためのapiを提供しています。kubernetesの当初の目的は、コンテナ化されたアプリケーションのデプロイやスケールアップに必要な、反復的な手動プロセスの多くを置き換えることでした。元々はgoogle社で開発されたものですが、後にオープンソース化され、一般の人々がソフトウェアに活用できるようになりました。 docker社は、kubernetesと競合するdocker swarmと呼ばれる独自のオーケストレーションプラットフォームを製造しており、docker apiを使用しています。docker swarmは単一のノード上で動作しますが、kubernetesは複数のノードのクラスターで動作します。このため、一般的にkubernetesは、大規模で効率的にノードのクラスターを調整する必要がある大規模プロジェクトに適しています。