第3章 CSINode [storage.k8s.io/v1]
- 説明
- CSINode は、ノードにインストールされているすべての CSI ドライバーに関する情報を保持します。CSI ドライバーは、CSINode オブジェクトを直接作成する必要はありません。node-driver-registrar サイドカーコンテナーを使用している限り、kubelet は、kubelet プラグイン登録の一部として CSI ドライバーの CSINode オブジェクトに自動的にデータを入力します。CSINode の名前はノードと同じです。オブジェクトが欠落している場合は、ノードで使用可能な CSI ドライバーがないか、Kubelet のバージョンが十分に低いためにこのオブジェクトが作成されないことを意味します。CSINode には、対応するノードオブジェクトを指す OwnerReference があります。
- タイプ
-
object
- 必須
-
spec
-
3.1. 仕様
プロパティー | タイプ | 説明 |
---|---|---|
|
| APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。 |
|
| kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
| 標準オブジェクトのメタデータ。metadata.name は Kubernetes ノード名である必要があります。 | |
|
| CSINodeSpec は、ノードにインストールされているすべての CSI ドライバーの仕様に関する情報を保持します |
3.1.1. .spec
- 説明
- CSINodeSpec は、ノードにインストールされているすべての CSI ドライバーの仕様に関する情報を保持します
- タイプ
-
object
- 必須
-
drivers
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| drivers は、ノードに存在するすべての CSI ドライバーの情報のリストです。リスト内のすべてのドライバーがアンインストールされると、これは空になる可能性があります。 |
|
| CSINodeDriver は、ノードにインストールされている 1 つの CSI ドライバーの仕様に関する情報を保持します。 |
3.1.2. .spec.drivers
- 説明
- drivers は、ノードに存在するすべての CSI ドライバーの情報のリストです。リスト内のすべてのドライバーがアンインストールされると、これは空になる可能性があります。
- タイプ
-
array
3.1.3. .spec.drivers[]
- 説明
- CSINodeDriver は、ノードにインストールされている 1 つの CSI ドライバーの仕様に関する情報を保持します。
- タイプ
-
object
- 必須
-
name
-
nodeID
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| VolumeNodeResources は、ボリュームのスケジューリングのためのリソース制限のセットです。 |
|
| name は、このオブジェクトが参照する CSI ドライバーの名前を表します。これは、そのドライバーの CSI GetPluginName() 呼び出しによって返される名前と同じである必要があります。 |
|
| ドライバーの観点から見たノードの nodeID。このフィールドにより、Kubernetes はノードの同じ命名法を共有しないストレージシステムと通信できるようになります。たとえば、Kubernetes は特定のノードを "node1" と呼びますが、ストレージシステムは同じノードを "nodeA" と呼びます。Kubernetes がストレージシステムにコマンドを発行してボリュームを特定のノードに接続する場合は、このフィールドを使用して、ストレージシステムが理解できる ID (たとえば、"node1" ではなく "nodeA") を使用してノード名を参照できます。このフィールドは必須です。 |
|
| topologyKeys は、ドライバーでサポートされているキーのリストです。ドライバーがクラスターで初期化されると、ドライバーが理解できるトポロジーキーのセットが提供されます (例: "company.com/zone"、"company.com/region")。ドライバーがノードで初期化されると、同じトポロジーキーと値が提供されます。Kubelet は、これらのトポロジーキーを独自のノードオブジェクトのラベルとして公開します。Kubernetes がトポロジー対応プロビジョニングを行う場合は、このリストを使用して、ノードオブジェクトから取得してドライバーに返す必要のあるラベルを決定できます。異なるノードが異なるトポロジーキーを使用する可能性があります。ドライバーがトポロジーをサポートしていない場合、これは空になる可能性があります。 |
3.1.4. .spec.drivers[].allocatable
- 説明
- VolumeNodeResources は、ボリュームのスケジューリングのためのリソース制限のセットです。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| count は、CSI ドライバーによって管理され、ノード上で使用できる一意のボリュームの最大数を示します。ノードに接続およびマウントされているボリュームは、2 回ではなく、1 回使用されたと見なされます。同じノード上の複数の Pod 間で共有される一意のボリュームにも同じルールが適用されます。このフィールドが指定されていない場合、このノードでサポートされるボリュームの数に制限はありません。 |