オブジェクトとインスタンス
Kubernetesでは、システムの構成や管理において、オブジェクトとインスタンスという2つの概念が重要です。オブジェクトは、Kubernetesのマスターノードに存在するデータベース etcd
に登録された状態を指し、インスタンスはそのオブジェクトに基づいて実際にワーカーノード上に作られるリソースです。これらの違いを理解することで、Kubernetesの動作の仕組みをより深く理解できます。
オブジェクトとインスタンス
項目 | 説明 |
---|---|
オブジェクト | Kubernetesにおいて、Podやサービス、デプロイメントなどのリソースは「オブジェクト」として etcd に登録されています。オブジェクトはKubernetesのデータベースに保存される定義情報です。 |
インスタンス | オブジェクトの定義に基づいて、実際にワーカーノード上で作られたリソースを「インスタンス」と呼びます。これは実際のPodやサービスを指します。 |
etcd | Kubernetesクラスタ全体の設定や状態を保存する分散データベースです。オブジェクト情報は etcd に保存され、クラスタ全体の状態が管理されます。 |
- オブジェクト
Kubernetesの構成要素は、すべてオブジェクトとして扱われます。オブジェクトは、etcd
データベースに登録され、Podオブジェクト、サービスオブジェクト、レプリカセットオブジェクトなどがあります。これらは、Kubernetesの定義ファイル(YAML形式など)に記述された情報に基づいて登録され、クラスタ全体の状態を一元管理します。 - インスタンス
オブジェクトの定義を元に、ワーカーノード上で実際に作られるのがインスタンスです。たとえば、Podオブジェクトとして定義されたものに基づいて、実際のPod(コンテナの集合体)が作られます。これは実際のコンピュータリソースを使って稼働しているものです。
Podの作成
「Penguin Pod」というPodを作成する場合、まずYAMLファイルに記述された内容が etcd
に「Penguin Podオブジェクト」として登録されます。その後、Kubernetesはそのオブジェクトに基づいて、ワーカーノードに「Penguin Podインスタンス」を作成します。このインスタンスが実際に動作するPodです。
項目 | 説明 |
---|---|
オブジェクト | etcd に登録される「定義情報」 |
インスタンス | 実際にワーカーノード上に作られる「実物」 |
例 | PenguinPodオブジェクト → ワーカーノード上のPenguinPodインスタンス |
etcdの役割
etcd
は、Kubernetesのすべての設定情報や状態を保持する分散型のデータベースであり、クラスタ全体の正確な状態を管理するための中心的な役割を果たします。すべてのオブジェクト情報はこの etcd
に登録され、各ワーカーノードに指示が送られます。
まとめ
Kubernetesのオブジェクトとインスタンスは、それぞれ定義と実際の動作を担う役割を持っています。オブジェクトは etcd
に登録され、管理されるリソースの定義情報であり、インスタンスはその定義に基づいて実際に作成されるリソースです。Kubernetesの基本的な構造を理解するために、このオブジェクトとインスタンスの関係を押さえておくことが重要です。