第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 は、ボリュームのスケジューリングのためのリソース制限のセットです。 | 
| 
									 | 
									 | これは、このオブジェクトが参照する 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
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | ノードで使用できる、CSI ドライバーによって管理される一意のボリュームの最大数。ノードに接続およびマウントされているボリュームは、2 回ではなく、1 回使用されたと見なされます。同じノード上の複数の Pod 間で共有される一意のボリュームにも同じルールが適用されます。このフィールドが指定されていない場合、このノードでサポートされるボリュームの数に制限はありません。 |