Kubernetes-architecture

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

Kubernetes-アーキテクチャ

この章では、Kubernetesの基本アーキテクチャについて説明します。

Kubernetes-クラスターアーキテクチャ

次の図に示すように、Kubernetesはクライアントサーバーアーキテクチャに従います。 ここで、マスターは1台のマシンにインストールされ、ノードは別のLinuxマシンにインストールされています。

クラスターアーキテクチャ

マスターとノードの主要なコンポーネントは、次のセクションで定義されます。

Kubernetes-マスターマシンコンポーネント

Kubernetes Master Machineのコンポーネントは次のとおりです。

etcd

クラスター内の各ノードで使用できる構成情報を保存します。 これは、複数のノードに分散できる高可用性キーバリューストアです。 機密情報が含まれている可能性があるため、Kubernetes APIサーバーからのみアクセスできます。 これは、すべてにアクセス可能な分散キー値ストアです。

APIサーバー

Kubernetesは、APIを使用してクラスターですべての操作を提供するAPIサーバーです。 APIサーバーはインターフェースを実装します。つまり、さまざまなツールやライブラリが簡単に通信できます。 Kubeconfig は、通信に使用できるサーバー側ツールと一緒のパッケージです。 Kubernetes APIを公開します。

コントローラーマネージャー

このコンポーネントは、クラスターの状態を調整してタスクを実行するほとんどのコレクターを担当します。 一般に、それは非終了ループで実行され、APIサーバーへの情報の収集と送信を担当するデーモンと見なすことができます。 クラスターの共有状態を取得し、サーバーの現在のステータスを目的の状態にするために変更を行います。 キーコントローラーは、レプリケーションコントローラー、エンドポイントコントローラー、名前空間コントローラー、およびサービスアカウントコントローラーです。 コントローラーマネージャーは、さまざまな種類のコントローラーを実行して、ノード、エンドポイントなどを処理します。

スケジューラー

これはKubernetesマスターの重要なコンポーネントの1つです。 ワークロードの分散を担当するマスターのサービスです。 クラスターノードの作業負荷の使用率を追跡し、リソースが利用可能なワークロードを配置し、ワークロードを受け入れます。 言い換えれば、これはポッドを利用可能なノードに割り当てる責任があるメカニズムです。 スケジューラーは、ワークロードの使用率と新しいノードへのポッドの割り当てを担当します。

Kubernetes-ノードコンポーネント

以下は、Kubernetesマスターと通信するために必要なノードサーバーの主要コンポーネントです。

港湾労働者

各ノードの最初の要件はDockerです。これは、カプセル化されたアプリケーションコンテナーを比較的孤立しているが軽量なオペレーティング環境で実行するのに役立ちます。

キューブレットサービス

これは、コントロールプレーンサービスとの間で情報を中継する各ノードの小さなサービスです。 etcd ストアと対話して、構成の詳細とライトの値を読み取ります。 これは、コマンドを受信して​​作業するためにマスターコンポーネントと通信します。 その後、 kubelet プロセスは、作業状態とノードサーバーを維持する責任を負います。 ネットワークルール、ポート転送などを管理します。

Kubernetesプロキシサービス

これは各ノードで実行されるプロキシサービスであり、外部ホストでサービスを利用できるようにします。 要求を正しいコンテナに転送するのに役立ち、プリミティブな負荷分散を実行できます。 これにより、ネットワーク環境が予測可能でアクセスしやすくなり、同時に隔離されます。 ノード上のポッド、ボリューム、シークレットの管理、新しいコンテナの健康診断の作成など。

Kubernetes-マスターおよびノー​​ド構造

次の図は、Kubernetesマスターとノードの構造を示しています。

マスターおよびノー​​ド構造