4장. CSIStorageCapacity [storage.k8s.io/v1]


설명

CSIStorageCapacity는 하나의 CSI GetCapacity 호출 결과를 저장합니다. 지정된 StorageClass의 경우 특정 토폴로지 세그먼트에서 사용 가능한 용량을 설명합니다. 이는 새 PersistentVolume을 인스턴스화할 위치를 고려할 때 사용할 수 있습니다.

예를 들어, StorageClass "standard"에는 "topology.kubernetes.io/zone=us-east1"에서 사용할 수 있는 "1234GiB" - StorageClass "localssd"에는 "kubernetes.io/hostname=knode-abc123"에서 "10GiB"를 사용할 수 있습니다.

다음 세 가지 경우 모두 특정 조합에 사용할 수 있는 용량이 없음을 의미합니다. - 적절한 토폴로지 및 스토리지 클래스 이름이 있는 오브젝트가 없음 - 이러한 오브젝트가 존재하지만 용량은 설정되지 않음 - 이러한 객체는 존재하지만 용량은 0입니다.

이러한 오브젝트의 생산자는 어떤 접근 방식이 더 적합한지 결정할 수 있습니다.

CSI 드라이버가 CSIDriverSpec.StorageCapacity를 사용하여 용량 인식 스케줄링을 선택할 때 kube-scheduler에서 사용합니다. 스케줄러는 MaximumVolumeSize를 보류 볼륨의 요청된 크기와 비교하여 적합하지 않은 노드를 필터링합니다. MaximumVolumeSize가 설정되지 않은 경우 덜 정확한 용량과 비교하면 됩니다. 또한 설정되지 않은 경우 스케줄러는 해당 용량이 충분하지 않다고 가정하고 다른 노드를 시도합니다.

유형
object
필수 항목
  • storageClassName

4.1. 사양

속성유형설명

apiVersion

string

APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

capacity

수량

capacity는 이전 필드와 일치하는 토폴로지 및 매개변수를 사용하여 GetCapacityRequest에 대해 GetCapacityResponse의 CSI 드라이버에서 보고하는 값입니다.

의미 체계는 현재 (CSI 사양 1.2)로 정의됩니다. 사용 가능한 용량은 볼륨을 프로비저닝하는 데 사용할 수 있는 스토리지의 바이트 단위로 정의됩니다. 설정되지 않은 경우 현재 해당 정보를 사용할 수 없습니다.

kind

string

kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

maximumVolumeSize

수량

maximumVolumeSize는 이전 필드와 일치하는 토폴로지 및 매개변수를 사용하여 GetCapacityRequest에 대해 GetCapacityResponse의 CSI 드라이버에서 보고하는 값입니다.

CSI 사양 1.4.0은 CreateVolumeRequest.capacity_range.required_bytes 필드에서 사용할 수 있는 가장 큰 크기로 정의되므로 GetCapacityRequest의 매개변수와 동일한 매개변수를 사용하여 볼륨을 생성합니다. Kubernetes API의 해당 값은 볼륨 클레임의 ResourceRequirements.Requests입니다.

메타데이터

ObjectMeta

표준 오브젝트의 메타데이터입니다. 이름에는 특별한 의미가 없습니다. DNS 하위 도메인이어야 합니다(할당할 수 있는 점, 253자). 클러스터의 다른 CSI 드라이버와 충돌하지 않도록 권장 사항은 csisc-<uuid>, 생성된 이름 또는 고유 CSI 드라이버 이름으로 끝나는 역방향 도메인 이름을 사용하는 것입니다.

오브젝트는 네임스페이스가 지정됩니다.

자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

nodeTopology

LabelSelector

NodeTopology는 보고된 용량을 위한 스토리지에 액세스할 수 있는 노드를 정의합니다. 설정되지 않은 경우 클러스터의 노드에서 스토리지에 액세스할 수 없습니다. 비어 있는 경우 모든 노드에서 스토리지에 액세스할 수 있습니다. 이 필드는 변경할 수 없습니다.

storageClassName

string

storageClassName은 보고된 용량이 적용되는 StorageClass의 이름을 나타냅니다. StorageClass 오브젝트의 이름과 동일한 요구 사항(비어 있음, DNS 하위 도메인)을 충족해야 합니다. 해당 오브젝트가 더 이상 존재하지 않는 경우 CSIStorageCapacity 오브젝트는 사용되지 않으며 작성자가 제거해야 합니다. 이 필드는 변경할 수 없습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.