第6章 PersistentVolumeClaim [v1]
- 説明
- PersistentVolumeClaim は、永続ボリュームに対するユーザーの要求および要求です。
- 型
-
object
6.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 を参照してください。 |
| 標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。 | |
|
| PersistentVolumeClaimSpec は、ストレージデバイスの一般的な属性を記述し、プロバイダー固有の属性のソースを許可します |
|
| PersistentVolumeClaimStatus は永続ボリューム要求の現在のステータスです。 |
6.1.1. .spec
- 説明
- PersistentVolumeClaimSpec は、ストレージデバイスの一般的な属性を記述し、プロバイダー固有の属性のソースを許可します
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| accessModes には、ボリュームに割り当てる必要のあるアクセスモードが含まれます。詳細は、https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 を参照してください。 |
|
| TypedLocalObjectReference には、同じ namespace 内で typed 参照オブジェクトを見つけるのに十分な情報が含まれます。 |
|
| dataSourceRef は、空でないボリュームが必要な場合は、ボリュームにデータを取り込むオブジェクトを指定します。これには、空ではない API グループ (コアオブジェクトではない) または PersistentVolumeClaim オブジェクトの任意のオブジェクトを指定できます。このフィールドが指定されている場合、ボリュームバインディングは、指定されたオブジェクトのタイプが、インストールされているボリュームポピュレーターまたはダイナミックプロビジョナーと一致する場合にのみ成功します。このフィールドは、dataSource フィールドの機能を置き換えるため、両方のフィールドが空でない場合は、同じ値である必要があります。下位互換性を確保するために、dataSourceRef で namespace が指定されておらず、一方が空でもう一方が空でない場合、両方のフィールド (dataSource と dataSourceRef) が自動的に同じ値に設定されます。dataSourceRef で namespace が指定されている場合、dataSource は同じ値に設定されていないため、空にする必要があります。dataSource と dataSourceRef には 3 つの重要な違いがあります。* dataSource では 2 つの特定のタイプのオブジェクトのみが使用できますが、dataSourceRef ではコアオブジェクト以外および PersistentVolumeClaim オブジェクトを使用できます。* dataSource は使用できない値を無視 (ドロップ) しますが、dataSourceRef はすべての値を保持し、使用できない値が指定された場合はエラーを生成します。* dataSource ではローカルオブジェクトのみが使用できますが、dataSourceRef では任意の namespace のオブジェクトを使用できます。(ベータ版) このフィールドを使用するには、AnyVolumeDataSource フィーチャーゲートを有効にする必要があります。(アルファ版) dataSourceRef の namespace フィールドを使用するには、CrossNamespaceVolumeDataSource フィーチャーゲートを有効にする必要があります。 |
|
| ResourceRequirements は、コンピュートリソースの要件を説明します。 |
| selector は、バインドを考慮するボリュームに対するラベルクエリーです。 | |
|
| storageClassName は、要求に必要な StorageClass の名前です。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
|
| volumeMode は、要求に必要なボリュームのタイプを定義します。Filesystem の値は、要求仕様に含まれていない場合に暗示されます。 |
|
| volumeName は、この要求をサポートする PersistentVolume へのバインディング参照です。 |
6.1.2. .spec.dataSource
- 説明
- TypedLocalObjectReference には、同じ namespace 内で typed 参照オブジェクトを見つけるのに十分な情報が含まれます。
- 型
-
object
- 必須
-
kind
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| APIGroup は参照されているリソースのグループです。APIGroup が指定されていない場合は、指定の Kind をコア API グループに設定する必要があります。他のサードパーティータイプには、APIGroup が必要です。 |
|
| kind は参照されているリソースのタイプです。 |
|
| name は、参照されているリソースの名前です。 |
6.1.3. .spec.dataSourceRef
- 説明
- dataSourceRef は、空でないボリュームが必要な場合は、ボリュームにデータを取り込むオブジェクトを指定します。これには、空ではない API グループ (コアオブジェクトではない) または PersistentVolumeClaim オブジェクトの任意のオブジェクトを指定できます。このフィールドが指定されている場合、ボリュームバインディングは、指定されたオブジェクトのタイプが、インストールされているボリュームポピュレーターまたはダイナミックプロビジョナーと一致する場合にのみ成功します。このフィールドは、dataSource フィールドの機能を置き換えるため、両方のフィールドが空でない場合は、同じ値である必要があります。下位互換性を確保するために、dataSourceRef で namespace が指定されておらず、一方が空でもう一方が空でない場合、両方のフィールド (dataSource と dataSourceRef) が自動的に同じ値に設定されます。dataSourceRef で namespace が指定されている場合、dataSource は同じ値に設定されていないため、空にする必要があります。dataSource と dataSourceRef には 3 つの重要な違いがあります。* dataSource では 2 つの特定のタイプのオブジェクトのみが使用できますが、dataSourceRef ではコアオブジェクト以外および PersistentVolumeClaim オブジェクトを使用できます。* dataSource は使用できない値を無視 (ドロップ) しますが、dataSourceRef はすべての値を保持し、使用できない値が指定された場合はエラーを生成します。* dataSource ではローカルオブジェクトのみが使用できますが、dataSourceRef では任意の namespace のオブジェクトを使用できます。(ベータ版) このフィールドを使用するには、AnyVolumeDataSource フィーチャーゲートを有効にする必要があります。(アルファ版) dataSourceRef の namespace フィールドを使用するには、CrossNamespaceVolumeDataSource フィーチャーゲートを有効にする必要があります。
- 型
-
object
- 必須
-
kind
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| APIGroup は参照されているリソースのグループです。APIGroup が指定されていない場合は、指定の Kind をコア API グループに設定する必要があります。他のサードパーティータイプには、APIGroup が必要です。 |
|
| kind は参照されているリソースのタイプです。 |
|
| name は、参照されているリソースの名前です。 |
|
| Namespace は、参照されるリソースの namespace です。 namespace が指定されている場合は、その namespace の所有者が参照を受け入れることができるように、参照された namespace に gateway.networking.k8s.io/ReferenceGrant オブジェクトが必要であることに注意してください。詳細は、ReferenceGrant ドキュメントを参照してください。(アルファ版) このフィールドでは、CrossNamespaceVolumeDataSource フィーチャーゲートを有効にする必要があります。 |
6.1.4. .spec.resources
- 説明
- ResourceRequirements は、コンピュートリソースの要件を説明します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。 これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。 このフィールドは不変です。これはコンテナーにのみ設定できます。 |
|
| ResourceClaim は、PodSpec.ResourceClaims 内の 1 つのエントリーを参照します。 |
| limits は、許可されるコンピュートリソースの最大量を示します。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。 | |
| requests は、必要なコンピュートリソースの最小量を示します。コンテナーについて Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。 |
6.1.5. .spec.resources.claims
- 説明
Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。
これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。
このフィールドは不変です。これはコンテナーにのみ設定できます。
- 型
-
array
6.1.6. .spec.resources.claims[]
- 説明
- ResourceClaim は、PodSpec.ResourceClaims 内の 1 つのエントリーを参照します。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| name は、このフィールドが使用される Pod の pod.spec.resourceClaims に含まれる、1 つのエントリーの名前と一致する必要があります。これにより、そのリソースがコンテナー内で利用可能になります。 |
6.1.7. .status
- 説明
- PersistentVolumeClaimStatus は永続ボリューム要求の現在のステータスです。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| accessModes には、PVC をサポートするボリュームが実際に持つアクセスモードが含まれます。詳細: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 |
| allocatedResources は、AllocatedResources 内のストレージリソースで、PVC に割り当てられた容量を追跡します。ボリューム拡張操作が要求された場合、実際の容量よりも大きくなる場合があります。ストレージクォータには、allocatedResources と PVC.spec.resources を比較して大きい方の値が使用されます。allocatedResources が設定されていない場合、PVC.spec.resources のみがクォータの計算に使用されます。ボリューム拡張容量要求が下げられ、進行中の拡張操作がなく、実際のボリューム容量が要求された容量以下である場合にのみ、allocatedResources が引き下げられます。これはアルファフィールドであるため、RecoverVolumeExpansionFailure 機能を有効にする必要があります。 | |
| capacity は、基礎となるボリュームの実際のリソースを表します。 | |
|
| conditions は永続ボリューム要求の現在の条件です。基礎となる永続ボリュームのサイズを変更すると、Condition は 'ResizeStarted' に設定されます。 |
|
| PersistentVolumeClaimCondition コンテーションで pvc の状態についての詳細 |
|
| phase は PersistentVolumeClaim の現在のフェーズを表します。
使用可能な列挙値: - |
|
| resizeStatus は、サイズ変更操作のステータスを格納します。ResizeStatus はデフォルトでは設定されませんが、拡張が完了すると、サイズ変更コントローラーまたは kubelet によって、resizeStatus が空の文字列に設定されます。これはアルファフィールドであるため、RecoverVolumeExpansionFailure 機能を有効にする必要があります。 |
6.1.8. .status.conditions
- 説明
- conditions は永続ボリューム要求の現在の条件です。基礎となる永続ボリュームのサイズを変更すると、Condition は 'ResizeStarted' に設定されます。
- タイプ
-
array
6.1.9. .status.conditions[]
- Description
- PersistentVolumeClaimCondition コンテーションで pvc の状態についての詳細
- タイプ
-
object
- 必須
-
type
-
status
-
プロパティー | 型 | 説明 |
---|---|---|
| lastProbeTime は、条件を調査した時間です。 | |
| lastTransitionTime は、条件があるステータスから別のステータスに遷移した最後の時間です。 | |
|
| message は、最後の遷移に関する詳細を示し、人間が判読できるメッセージです。 |
|
|
|
|
| |
|
|