Kubernetesアーキテクチャ
Kubernetesクラスターの主要コンポーネントであるコントロールプレーンノード、ワーカーノード、およびそれらの連携を理解します。
「Kubernetesアーキテクチャ」はCoddyKit上の無料Docker & DevOps Fundamentalsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDocker & DevOps Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Docker & DevOps Fundamentalsコースには全4レッスンが含まれています。
K8sアーキテクチャへようこそ
Kubernetesへようこそ!Kubernetesは、多数のマシンにまたがるコンテナ化されたアプリケーションを管理するための強力なシステムです。
アプリケーションの実行方法を学ぶ前に、その基本構造を理解することが重要です。車を運転する前に、まず車の各部を学ぶようなものです。

Kubernetesクラスター
Kubernetesは、その中核でクラスターとして動作します。クラスターとは、連携して動作するマシンの集まりで、各マシンをノードと呼びます。
これらのノードは、主に次の2種類に分けられます。
- Control Plane(Master Node):クラスターの中枢です。
- Worker Nodes:アプリケーションを実行する実働部隊です。
Control Plane:クラスターの中枢
Control Plane(古いドキュメントではMaster Nodeと呼ばれることがあります)は、クラスターの管理を担当します。
アプリケーションのスケジューリングなど、クラスター全体に関する判断を行い、失敗したアプリケーションの再起動など、クラスターのイベントを検出して対応します。アプリケーションを直接実行することはありません。
API Server:フロントドア
API Serverは、Kubernetes Control Planeのフロントエンドです。Control Planeの中で、(kubectlを介して)利用者と直接やり取りする唯一のコンポーネントです。
Kubernetes APIを公開し、クラスター内のすべての通信を処理します。また、PodやServiceなどのAPIオブジェクトのデータを検証および設定します。
etcd:クラスターの記憶領域
etcdは、一貫性と高可用性を備えたキーバリューストアです。クラスターの永続的な記憶領域だと考えてください。
設定、状態、メタデータなど、クラスターのすべてのデータを保存します。etcdが停止すると、クラスターは記憶領域を失い、正常に機能できなくなります。
Scheduler:最適な割り当て役
Schedulerは、実行するworker nodeが割り当てられていない、新しく作成されたPod(アプリケーションのインスタンス)を監視します。
その後、リソース要件、ハードウェアの制約、ポリシーなどを考慮して、それぞれのPodを実行する最適なノードを選択します。
Controller Manager:監視役
Controller Managerは、クラスターの状態を調整するバックグラウンドループである、さまざまなcontrollersを実行します。
たとえば、Node Controllerはノードの健全性を監視し、Replication Controllerは正しい数のPodが実行されるようにします。常に望ましい状態と現在の状態を一致させようと動作しています。
Worker Nodes:実働部隊
Worker Nodes(古いドキュメントではMinionsとも呼ばれます)は、実際のコンテナ化されたアプリケーション(Podsにパッケージ化されたもの)が実行されるマシンです。
各worker nodeには、Control Planeとの通信や、そのノード上で実行されるコンテナの管理を可能にするコンポーネントがあります。
KubeletとContainer Runtime
各Worker Nodeには、次のものがあります。
- Kubelet:Pod内でコンテナが実行されていることを保証するエージェントです。API Serverから指示を受け取り、Podを管理します。
- Container Runtime:コンテナの実行を担うソフトウェアです(例:Docker、containerd、CRI-O)。Kubeletはこれを使ってイメージを取得し、アプリケーションを実行します。
Kube-proxy:ネットワーク制御役
Kube-proxyは各Worker Node上で実行され、Kubernetes Serviceのネットワークプロキシ処理を担当します。
ノード上のネットワークルールを維持し、クラスターの内部と外部の両方からPodへのネットワーク通信を可能にします。これにより、アプリケーションにアクセスできる状態を保ちます。
アーキテクチャの確認
これまでに学んだ内容を踏まえて、次のコンポーネントのうち Kubernetes のコントロールプレーンに含まれるものはどれでしょうか?
まとめと次のステップ
よくできました!これで Kubernetes アーキテクチャの基礎を理解できました。
- コントロールプレーン(API Server、etcd、Scheduler、Controller Manager)がクラスターを管理します。
- ワーカーノード(Kubelet、Container Runtime、Kube-proxy)がアプリケーションを実行します。
次は、Kubernetes でデプロイできる最小単位であるPodについて詳しく学びます!
よくある質問
「Kubernetesアーキテクチャ」レッスンは無料ですか?
はい。「Kubernetesアーキテクチャ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Docker & DevOps Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Docker & DevOps Fundamentalsコースには全4レッスンが含まれています。
「Kubernetesアーキテクチャ」で何を学びますか?
Kubernetesクラスターの主要コンポーネントであるコントロールプレーンノード、ワーカーノード、およびそれらの連携を理解します。 ブラウザで直接実行するハンズオンコードでDocker & DevOps Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Docker & DevOps Fundamentalsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDocker & DevOps Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Kubernetesアーキテクチャ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDocker & DevOps Fundamentalsレッスンでコードを書いて実行できますか?
はい。すべてのDocker & DevOps Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Kubernetesアーキテクチャ
- Pod:最小単位
- kubectlコマンドの基礎
- 整理のためのNamespaceとLabel