Docker-Kubernetesアーキテクチャ
Kubernetesは、Dockerコンテナーのオーケストレーションフレームワークであり、コンテナーをサービスとして外部に公開するのに役立ちます。たとえば、2つのサービスを持つことができます-1つのサービスにはnginx そして mongoDB、および別のサービスに含まれる nginx そして redis。各サービスには、他のアプリケーションで接続できるIPまたはサービスポイントを含めることができます。その後、Kubernetesを使用してこれらのサービスを管理します。
次の図は、アーキテクチャの観点からKubernetesがどのように機能するかを簡単な形式で示しています。
ザ・ minionすべてのサービスが実行されるノードです。ある時点で多くのミニオンを実行させることができます。各ミニオンは1つ以上のPODをホストします。各PODサービスをホストするようなものです。各PODにはDockerコンテナが含まれます。各PODは、異なるDockerコンテナーのセットをホストできます。次に、プロキシを使用して、これらのサービスの外部への公開を制御します。
Kubernetesのアーキテクチャにはいくつかのコンポーネントがあります。各コンポーネントの役割を以下に説明します&mius;
etcd −このコンポーネントは高可用性です key-value 保管に使用する店舗 shared configuration そして service discovery。ここでは、さまざまなアプリケーションがを介してサービスに接続できるようになります。discovery service。
Flannel −これはコンテナに必要なバックエンドネットワークです。
kube-apiserver −これは、Dockerコンテナーをオーケストレーションするために使用できるAPIです。
kube-controller-manager −これは制御するために使用されます Kubernetes services。
kube-scheduler −これは、ホスト上のコンテナーをスケジュールするために使用されます。
Kubelet −これは、を介してコンテナの起動を制御するために使用されます manifest files。
kube-proxy −これは、ネットワークプロキシサービスを外部に提供するために使用されます。