Kubernetes Internals: Architecture Overview
Kubernetesの簡単な内容を理解したら、次はK8sの内部に関することを理解し、K8sのシステムの複雑な部分を使いこなせるようになることが必要です。
いくつかの重要なコンポーネントがありますが、それぞれのコンポーネントを簡単に見て、それらがどのように組み合わされて1つの素晴らしいいツールとして動作しているのか、全体像を理解することにしましょう。アーキテクチャに続いて、Kubernetesの非常に重要な概念についてもいくつか説明します。それでは、始めましょう。
Kubernetesクラスタ
K8sクラスタは、コンテナ化されたアプリケーションが実行されるノードの集合体です。最低でも、クラスタにはコントロールプレーン(もしくはMasterノード)と1つ以上のコンピューティングノード(もしくはWorkerノード)が存在することになります。
K8sを実行している場合、クラスターを実行していることになります。
高レベルでは、マスターノードがクラスタの状態を制御し、ワーカーノードがアプリケーションを実行します。クラスタが機能するためには、少なくとも1つのマスターノードと1つのワーカーノードが存在している必要があります。実稼働環境では、クラスタには複数のマスターノードがあり、複数のワーカーノードが分散して存在している場合があります
Kubernetesクラスタは、前述のように2つに分けることができます。
1.マスタまたはコントロールプレーン
2.ワーカーノード
それぞれ下図のような独立した内部構造を持っています。それぞれの役割について詳しく見ていきましょう。
コントロールプレーン:
コントロールプレーンまたはマスターノードは、K8sクラスタの意思決定部分です。コントロールプレーンは宣言的なYAMLファイルからクラスタの望ましい状態を保存し、クラスタの現在の状態がユーザによって提供された望ましい状態を満たしているかどうか監視します。クラスタの現在の状態が希望する状態でない場合、コントロール・プレーンはクラスタに希望する状態をもたらすためにすべてを引き上げます。
コントロールプレーンには、これらすべての魔法のようなことを行うためのいくつかの重要なコンポーネントがあります。
etcd
etcdは、コントロールプレーン内の永続的なストアです。etcdは、実行するインスタンスの数、ネットワークトラフィックに応じてクラスタをスケールアップまたはダウンする量、ネームスペースに関する…