3.2 Kubernetesアーキテクチャについて

Kubernetesホストは、コントロール・プレーン・ノードとワーカー・ノードで構成されます。

コントロール・プレーン: コントロール・プレーンは、Kubernetesコンポーネントの管理とアプリケーションのデプロイを担当します。エンタープライズ・デプロイメントでは、コントロール・プレーン・ホストの障害によってKubernetesクラスタが停止しないように、Kubernetesコントロール・プレーンの可用性が高いことを確認する必要があります。

ワーカー・ノード: コンテナがデプロイされる場所であるワーカー・ノード。

ノート:

個々のホストは、コントロール・プレーン・ホストとワーカー・ホストの両方にすることができます。

図3-1 Kubernetesクラスタの図


Kubernetesクラスタの図

コンポーネントの説明:
  • コントロール・プレーン: コントロール・プレーンは次で構成されます:
    • kube-apiサーバー: APIサーバーは、Kubernetes APIを公開するコントロール・プレーンのコンポーネントです。
    • etcd: Kubernetesのバックエンド・データストアおよびすべてのクラスタ・データを格納するために使用されます。
    • スケジューラ: スケジューラは、ワーカー・ノードへのコンテナの配置を担当します。この場合、リソース要件、ハードウェアおよびソフトウェア・ポリシーの制約、アフィニティ仕様およびデータ・アフィニティが考慮されます。
    • コントロール・マネージャ: コントローラ・プロセスの実行を担当します。コントローラ・プロセスは次で構成されます:
      • ノード・コントローラ
      • ルート・コントローラ
      • サービス・コントローラ

      コントロール・プレーンは、Kubernetes APIサーバーがデプロイされ、LBRによってフロント・エンド処理される3つのノードで構成されます。

  • ワーカー・ノード・コンポーネント: ワーカー・ノードには次のコンポーネントが含まれます:
    • Kubelet: クラスタ内の各ワーカー・ノードで実行されるエージェント。これは、コンテナがポッド内で実行されていることを保証します。
    • Kubeプロキシ: Kubeプロキシは、クラスタの各ノードで実行されるネットワーク・プロキシです。これは、ポッド間通信およびクラスタ外通信を可能にするネットワーク・ルールを維持します。
    • アドオン: アドオンはクラスタをさらに拡張し、次のようなサービスを提供します:
      • DNS
      • Web UIダッシュボード
      • コンテナ・リソース・モニタリング
      • ロギング