Docker-kubernetes-architecture

提供:Dev Guides
移動先:案内検索

Docker-Kubernetesアーキテクチャ

Kubernetesは、Dockerコンテナのオーケストレーションフレームワークであり、コンテナをサービスとして外部に公開するのに役立ちます。 たとえば、2つのサービスを使用できます。1つのサービスには nginx および mongoDB が含まれ、別のサービスには nginx および redis が含まれます。 各サービスには、他のアプリケーションから接続できるIPまたはサービスポイントを設定できます。 その後、Kubernetesを使用してこれらのサービスを管理します。

次の図は、アーキテクチャの観点からKubernetesがどのように機能するかを単純な形式で示しています。

Kubernetes Architecture

*minion* は、すべてのサービスが実行されるノードです。 一度に多くのミニオンを実行できます。 各ミニオンは1つ以上のPODをホストします。 各 *POD* は、サービスをホストするようなものです。 各PODにはDockerコンテナーが含まれます。 各PODは、異なるDockerコンテナのセットをホストできます。 次に、プロキシを使用して、これらのサービスの外部への公開を制御します。

Kubernetesのアーキテクチャにはいくつかのコンポーネントがあります。 各コンポーネントの役割については、以下で説明します&mius;

  • etcd -このコンポーネントは、共有構成*および*サービスディスカバリ*の保存に使用される、可用性の高い*キー値*ストアです。 ここで、さまざまなアプリケーションが discoveryサービス*を介してサービスに接続できます。
  • Flannel -これは、コンテナに必要なバックエンドネットワークです。
  • kube-apiserver -これは、Dockerコンテナを調整するために使用できるAPIです。
  • kube-controller-manager -これは* Kubernetesサービス*を制御するために使用されます。
  • kube-scheduler -これは、ホスト上のコンテナをスケジュールするために使用されます。
  • Kubelet -これは、* manifestファイル*を介してコンテナの起動を制御するために使用されます。
  • kube-proxy -これは、ネットワークプロキシサービスを外部に提供するために使用されます。