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에는 동일한 네임 스페이스 내에서 형식화된 참조 오브젝트를 찾을 수 있는 충분한 정보가 포함되어 있습니다. |
|
| dataSourceRef는 비어 있지 않은 볼륨이 필요한 경우 볼륨을 데이터로 채울 오브젝트를 지정합니다. 비어 있지 않은 API 그룹(코어 오브젝트가 아님) 또는 PersistentVolumeClaim 오브젝트의 모든 오브젝트일 수 있습니다. 이 필드가 지정되면 지정된 오브젝트의 유형이 설치된 일부 볼륨 팝업 또는 동적 프로비저너와 일치하는 경우에만 볼륨 바인딩이 성공적으로 수행됩니다. 이 필드는 dataSource 필드의 기능을 대체하므로 두 필드가 모두 비어 있지 않은 경우 동일한 값이 있어야 합니다. 이전 버전과의 호환성을 위해 dataSourceRef에 네임스페이스가 지정되지 않으면 둘 다 필드(dataSource 및 dataSourceRef)가 비어 있고 다른 하나는 비어 있지 않은 경우 자동으로 동일한 값으로 설정됩니다. dataSourceRef에 네임스페이스가 지정되면 dataSource는 동일한 값으로 설정되지 않으며 비어 있어야 합니다. dataSource와 dataSourceRef에는 세 가지 중요한 차이점이 있습니다. * dataSource는 두 가지 특정 유형의 오브젝트만 허용하는 반면, dataSourceRef에서는 비 코어 오브젝트 및 PersistentVolumeClaim 오브젝트를 허용합니다. * dataSource는 허용하지 않는 값을 무시(dropping)하는 동안 dataSourceRef는 모든 값을 유지하고 허용하지 않는 값이 지정된 경우 오류를 생성합니다. * dataSource는 로컬 오브젝트만 허용하지만 dataSourceRef는 모든 네임스페이스의 오브젝트를 허용합니다. (베타) 이 필드를 사용하려면 AnyVolumeDataSource 기능 게이트를 활성화해야 합니다. (alpha) dataSourceRef의 namespace 필드를 사용하려면 CrossNamespaceVolumeDataSource 기능 게이트를 활성화해야 합니다. |
|
| resourceRequirements는 컴퓨팅 리소스 요구 사항을 설명합니다. |
| selector는 바인딩에 대해 고려할 볼륨에 대한 레이블 쿼리입니다. | |
|
| storageClassName은 클레임에 필요한 StorageClass의 이름입니다. 자세한 내용은 https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 |
|
| volumeMode는 클레임에 필요한 볼륨 유형을 정의합니다. claim 사양에 포함되지 않은 경우 Filesystem의 값이 포함됩니다. |
|
| volumeName은 이 클레임을 지원하는 PersistentVolume에 대한 바인딩 참조입니다. |
6.1.2. .spec.dataSource
- 설명
- TypedLocalObjectReference에는 동일한 네임 스페이스 내에서 형식화된 참조 오브젝트를 찾을 수 있는 충분한 정보가 포함되어 있습니다.
- 유형
-
object
- 필수 항목
-
kind
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| APIGroup은 참조 중인 리소스의 그룹입니다. APIGroup을 지정하지 않으면 지정된Kind이 코어 API 그룹에 있어야 합니다. 다른 타사 유형의 경우 APIGroup이 필요합니다. |
|
| kind는 참조되는 리소스 유형입니다. |
|
| name은 참조되는 리소스의 이름입니다. |
6.1.3. .spec.dataSourceRef
- 설명
- dataSourceRef는 비어 있지 않은 볼륨이 필요한 경우 볼륨을 데이터로 채울 오브젝트를 지정합니다. 비어 있지 않은 API 그룹(코어 오브젝트가 아님) 또는 PersistentVolumeClaim 오브젝트의 모든 오브젝트일 수 있습니다. 이 필드가 지정되면 지정된 오브젝트의 유형이 설치된 일부 볼륨 팝업 또는 동적 프로비저너와 일치하는 경우에만 볼륨 바인딩이 성공적으로 수행됩니다. 이 필드는 dataSource 필드의 기능을 대체하므로 두 필드가 모두 비어 있지 않은 경우 동일한 값이 있어야 합니다. 이전 버전과의 호환성을 위해 dataSourceRef에 네임스페이스가 지정되지 않으면 둘 다 필드(dataSource 및 dataSourceRef)가 비어 있고 다른 하나는 비어 있지 않은 경우 자동으로 동일한 값으로 설정됩니다. dataSourceRef에 네임스페이스가 지정되면 dataSource는 동일한 값으로 설정되지 않으며 비어 있어야 합니다. dataSource와 dataSourceRef에는 세 가지 중요한 차이점이 있습니다. * dataSource는 두 가지 특정 유형의 오브젝트만 허용하는 반면, dataSourceRef에서는 비 코어 오브젝트 및 PersistentVolumeClaim 오브젝트를 허용합니다. * dataSource는 허용하지 않는 값을 무시(dropping)하는 동안 dataSourceRef는 모든 값을 유지하고 허용하지 않는 값이 지정된 경우 오류를 생성합니다. * dataSource는 로컬 오브젝트만 허용하지만 dataSourceRef는 모든 네임스페이스의 오브젝트를 허용합니다. (베타) 이 필드를 사용하려면 AnyVolumeDataSource 기능 게이트를 활성화해야 합니다. (alpha) dataSourceRef의 namespace 필드를 사용하려면 CrossNamespaceVolumeDataSource 기능 게이트를 활성화해야 합니다.
- 유형
-
object
- 필수 항목
-
kind
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| APIGroup은 참조 중인 리소스의 그룹입니다. APIGroup을 지정하지 않으면 지정된Kind이 코어 API 그룹에 있어야 합니다. 다른 타사 유형의 경우 APIGroup이 필요합니다. |
|
| kind는 참조되는 리소스 유형입니다. |
|
| name은 참조되는 리소스의 이름입니다. |
|
| namespace는 네임스페이스가 지정되면 해당 네임스페이스의 소유자가 참조를 수락할 수 있도록 참조 네임스페이스에 gateway.networking.k8s.io/ReferenceGrant 오브젝트가 필요합니다. 자세한 내용은 ReferenceGrant 문서를 참조하십시오. (alpha) 이 필드에는 CrossNamespaceVolumeDataSource 기능 게이트를 활성화해야 합니다. |
6.1.4. .spec.resources
- 설명
- resourceRequirements는 컴퓨팅 리소스 요구 사항을 설명합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 클레임은 이 컨테이너에서 사용하는 spec.resourceClaims에 정의된 리소스의 이름을 나열합니다. 이 필드는 alpha 필드이며 DynamicResourceAllocation 기능 게이트를 활성화해야 합니다. 이 필드는 변경할 수 없습니다. 컨테이너에 대해서만 설정할 수 있습니다. |
|
| ResourceClaim은 PodSpec.ResourceClaims에서 하나의 항목을 참조합니다. |
| 제한은 허용되는 최대 컴퓨팅 리소스 양을 나타냅니다. 자세한 내용은 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| 요청은 필요한 최소 컴퓨팅 리소스 양을 설명합니다. 컨테이너에 대한 Requests를 생략하면 구현 정의된 값을 제외하고 명시적으로 지정된 경우 기본값은 Limits로 설정됩니다. 자세한 내용은 https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
6.1.5. .spec.resources.claims
- 설명
클레임은 이 컨테이너에서 사용하는 spec.resourceClaims에 정의된 리소스의 이름을 나열합니다.
이 필드는 alpha 필드이며 DynamicResourceAllocation 기능 게이트를 활성화해야 합니다.
이 필드는 변경할 수 없습니다. 컨테이너에 대해서만 설정할 수 있습니다.
- 유형
-
array
6.1.6. .spec.resources.claims[]
- 설명
- ResourceClaim은 PodSpec.ResourceClaims에서 하나의 항목을 참조합니다.
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 이 필드가 사용되는 Pod의 pod.spec.resourceClaims에서 하나의 항목 이름과 일치해야 합니다. 컨테이너 내에서 해당 리소스를 사용할 수 있도록 합니다. |
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는 기본 볼륨의 실제 리소스를 나타냅니다. | |
|
| 조건은 영구 볼륨 클레임의 현재 조건입니다. 기본 영구 볼륨의 크기를 조정하는 경우 Condition이 'ResizeStarted'로 설정됩니다. |
|
| PersistentVolumeClaimCondition의 pvc 상태에 대한 세부 정보 |
|
| phase는 PersistentVolumeClaim의 현재 단계를 나타냅니다.
가능한 enum 값: - 바인딩된 PersistentVolumeClaims에 사용되는 |
|
| resizeStatus는 크기 조정 작업 상태를 저장합니다. ResizeStatus는 기본적으로 설정되지 않지만 컨트롤러 또는 kubelet의 크기를 조정하여 확장이 전체 resizeStatus가 빈 문자열로 설정된 경우입니다. 알파 필드이며 RecoverVolumeExpansionFailure 기능을 활성화해야 합니다. |
6.1.8. .status.conditions
- 설명
- 조건은 영구 볼륨 클레임의 현재 조건입니다. 기본 영구 볼륨의 크기를 조정하는 경우 Condition이 'ResizeStarted'로 설정됩니다.
- 유형
-
array
6.1.9. .status.conditions[]
- 설명
- PersistentVolumeClaimCondition의 pvc 상태에 대한 세부 정보
- 유형
-
object
- 필수 항목
-
type
-
status
-
속성 | 유형 | 설명 |
---|---|---|
| lastProbeTime은 조건을 조사한 시간입니다. | |
| lastTransitionTime은 조건이 한 상태에서 다른 상태로 전환된 시간입니다. | |
|
| message는 마지막 전환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다. |
|
| 이유는 고유합니다. 이는 조건의 마지막 전환 이유를 제공하는 짧은 머신 이해할 수 있는 문자열이어야 합니다. "ResizeStarted"를 보고하는 경우 기본 영구 볼륨의 크기를 조정할 수 있습니다. |
|
| |
|
|