Docker-kubernetes-architecture
提供:Dev Guides
Docker-Kubernetesアーキテクチャ
Kubernetesは、Dockerコンテナのオーケストレーションフレームワークであり、コンテナをサービスとして外部に公開するのに役立ちます。 たとえば、2つのサービスを使用できます。1つのサービスには nginx および mongoDB が含まれ、別のサービスには nginx および redis が含まれます。 各サービスには、他のアプリケーションから接続できるIPまたはサービスポイントを設定できます。 その後、Kubernetesを使用してこれらのサービスを管理します。
次の図は、アーキテクチャの観点からKubernetesがどのように機能するかを単純な形式で示しています。
*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 -これは、ネットワークプロキシサービスを外部に提供するために使用されます。