다음 매니페스트는 스토리지 클래스 및 영구 볼륨 리소스에서 지원되는 CSI 드라이버 필드를 설명합니다.
스토리지 클래스
다음 매니페스트에는 Storage 클래스에서 지원되는 모든 필드가 포함되어 있습니다.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: parallelstore-csi-sc
provisioner: parallelstore.csi.storage.gke.io
parameters:
network: VPC_NETWORK_NAME # optional
labels: KEY: VALUE # optional
description: DESCRIPTION # optional
reserved-ip-range: IP_RANGE_NAME # optional
file-stripe-level: FILE_STRIPE_LEVEL # optional
directory-stripe-level: DIRECTORY_STRIPE_LEVEL # optional
volumeBindingMode: VOLUME_BINDING_MODE # default is "immediate"; or "waitForFirstConsumer"
allowedTopologies: # optional
- matchLabelExpressions:
- key: topology.gke.io/zone
values:
- ZONE
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count
다음 필드는 모두 선택사항입니다.
network
: Parallelstore 인스턴스를 만들 VPC 네트워크입니다. 이 속성을 지정하지 않으면 GKE 클러스터의 네트워크가 사용됩니다.공유 VPC 네트워크에서 Parallelstore 인스턴스를 만들려면 네트워크의 전체 이름을 제공해야 합니다. 예를 들면 다음과 같습니다.
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME
labels
: 이 인스턴스에 연결할 사용자 지정 키-값 쌍입니다.description
: 인스턴스에 대한 설명입니다. 2,048자(영문 기준) 이하여야 합니다.reserved-ip-range
: 할당된 IP 주소 범위의 이름입니다. 지정하지 않으면 모든 범위가 고려됩니다.file-stripe-level
는 파일 스트리핑 설정을 정의합니다. 허용되는 값은 다음과 같습니다.file-stripe-level-balanced
file-stripe-level-max
file-stripe-level-min
자세한 내용은 성능 고려사항을 참고하세요.
directory-stripe-level
는 디렉터리의 스트리핑 수준을 정의합니다. 허용되는 값은 다음과 같습니다.directory-stripe-level-balanced
directory-stripe-level-max
directory-stripe-level-min
자세한 내용은 성능 고려사항을 참고하세요.
allowedTopologies
: Parallelstore 인스턴스를 만들 영역을 지정합니다. 이 필드를 지정하지 않으면 인스턴스가 CSI 드라이버 배포와 동일한 영역에서immediate
볼륨 바인딩 모드로 생성됩니다.volumeBindingMode
: 토폴로지 선택 모드를 지정합니다.immediate
모드는allowedTopologies
에 지정된 값을 사용합니다.waitForFirstConsumer
모드는 GKE 포드가 예약된 영역에 토폴로지를 할당합니다. 이로 인해 볼륨 프로비저닝을 기다리는 동안 포드가 차단될 수 있습니다.mountOptions
: dfuse 마운트 옵션 및read_ahead_kb
및max_ratio
를 비롯한 커널 매개변수를 지정합니다. Parallelstore 인스턴스 지원 볼륨은 영구 볼륨의.spec.mountOptions
필드에서 이러한 값을 상속합니다.옵션은 다음과 같습니다.
disable-caching
: 모든 캐싱을 사용 중지합니다. 기본적으로 GKE에서 Parallelstore 인스턴스를 마운트할 때 전체 캐싱 (백 래시 캐시 제외)이 사용 설정됩니다.enable-wb-cache
: 쓰기 방식이 아닌 쓰기 후 캐시를 사용합니다.thread-count
: 사용할 스레드 수입니다. 이 값은 FUSE 스레드 수와 이벤트 큐 수의 합계입니다.eq-count
: 사용할 이벤트 큐의 수입니다.read_ahead_kb
: 선행 읽기 창의 크기(킬로바이트)입니다.max_ratio
: 특정 기기가 쓰기 백 캐시의 지정된 비율 이하를 사용하도록 제한할 수 있습니다.
이러한 옵션에 관한 자세한 내용은 성능 고려사항을 참고하세요.
영구 볼륨
다음 매니페스트에는 영구 볼륨에서 지원되는 모든 필드가 포함되어 있습니다.
apiVersion: v1
kind: PersistentVolume
metadata:
name: parallelstore-pv
annotations:
pv.kubernetes.io/provisioned-by: parallelstore.csi.storage.gke.io
spec:
storageClassName: parallelstore-csi-sc
capacity:
storage: INSTANCE_SIZE # 12Ti
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain # or "Delete"
volumeMode: Filesystem
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count, read_ahead_kb, max_ratio
csi:
driver: parallelstore.csi.storage.gke.io
volumeHandle: PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
volumeAttributes:
accessPoints: ACCESS_POINTS # comma-separated list of IP addresses
network: VPC_NETWORK # optional
capacity
: Parallelstore 인스턴스의 용량입니다.12Ti
,16Ti
,20Ti
중 하나여야 합니다.mountOptions
: StorageClass의mountOptions
필드에서 상속합니다.csi.volumeHandle
: Parallelstore 인스턴스의 고유 식별자입니다.PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
형식을 사용해야 합니다.csi.volumeAttributes.accessPoints
: Parallelstore 서버 노드의 IP 주소 목록으로, 쉼표로 구분됩니다.csi.volumeAttributes.network
: Parallelstore 인스턴스의 VPC 네트워크로, GKE 클러스터의 네트워크와 일치해야 합니다. 이 필드는 CSI 드라이버가 제공된 Parallelstore 인스턴스를 마운트하기 전에 유효한 네트워크에 있는지 확인하는 데 사용됩니다.