0Pricing
Docker & DevOps Fundamentals · レッスン

Kubernetesアーキテクチャ

Kubernetesクラスターの主要コンポーネントであるコントロールプレーンノード、ワーカーノード、およびそれらの連携を理解します。

「Kubernetesアーキテクチャ」はCoddyKit上の無料Docker & DevOps Fundamentalsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDocker & DevOps Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Docker & DevOps Fundamentalsコースには全4レッスンが含まれています。

K8sアーキテクチャへようこそ

Kubernetesへようこそ!Kubernetesは、多数のマシンにまたがるコンテナ化されたアプリケーションを管理するための強力なシステムです。

アプリケーションの実行方法を学ぶ前に、その基本構造を理解することが重要です。車を運転する前に、まず車の各部を学ぶようなものです。

Kubernetesアーキテクチャ — イラスト1

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Kubernetesアーキテクチャ
  2. Pod:最小単位
  3. kubectlコマンドの基礎
  4. 整理のためのNamespaceとLabel
← Docker & DevOps Fundamentalsに戻る