Member-only story
Kubernetes — Architecture のまとめ
9 min readMar 23, 2022
Kubernetesアーキテクチャの紹介とK8sクラスターコンポーネントの理解
Kubernetes アーキテクチャとコンポーネント
要約
Kubernetes (K8s) は、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するためのオープンソースシステムです。Kubernetesでは、複雑なコンテナ管理を抽象化し、異なる計算環境においてコンテナをオーケストレーションするための宣言的なコンフィギュレーションが利用できます。
Kubernetesのアーキテクチャ
Kubernetesのデプロイは、クラスターと呼ばれます。Kubernetesクラスターは、少なくとも1つのメイン(コントロール)プレーンと、ノードと呼ばれる1つ以上のワーカーマシンで構成されています。コントロールプレーンとノードインスタンスは、どちらも物理デバイス、仮想マシン、またはクラウド上のインスタンスにすることができます。
制御プレーン
- マスターノード、ヘッドノードとも呼ばれる。
- コントロールプレーンは、クラスタ内のワーカーノードやPodを管理する。
- 本番環境では、コントロールプレーンは通常複数のコンピュータで動作し、クラスタは通常複数のノードで動作し、フォールトトレランスと高可用性を持ち合わせています。
- コントロールプレーンは、CLIやUIからAPI経由でインプットを受け取ります。
- マスターモードでユーザーワークロードを実行することは推奨されません。
ノード
- ワーカーノード、コンピュートノードとも呼ばれる。
- コンテナ化されたアプリケーションを実行するために必要なサービスを含む仮想マシンまたは物理マシン。
- Kubernetesクラスターには最低でも1つのワーカーノードが必要ですが、通常は多数のワーカーノードが存在する。
- ワーカーノードは、アプリケーションワークロードのコンポーネントであるPodをホストする。
- Podは、ノード上で実行されるようにスケジュールされ、オーケストレーションされる。
- ノードを追加および削除することで、クラスタをスケールアップおよびスケールダウンすることができる。