다음 매니페스트는 스토리지 클래스 및 영구 볼륨 리소스에서 지원되는 CSI 드라이버 필드를 설명합니다.
스토리지 클래스
다음 매니페스트에는 스토리지 클래스에서 지원되는 모든 필드가 포함되어 있습니다.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: lustre-csi-example-storage-class
provisioner: lustre.csi.storage.gke.io
parameters:
network: VPC_NETWORK # optional
filesystem: LUSTRE_FILESYSTEM_NAME # optional
labels: KEY_1=VALUE_1,KEY_2=VALUE_2,...,KEY_N=VALUE_N # optional
description: DESCRIPTION # optional
perUnitStorageThroughput: 125 | 250 | 500 | 1000 # required
volumeBindingMode: WaitForFirstConsumer | Immediate # default is Immediate
allowedTopologies:
- matchLabelExpressions:
- key: topology.gke.io/zone
values:
- ZONE_1
- ZONE_2
mountOptions:
- LUSTRE_MOUNT_OPTIONS
다음 값을 바꿉니다.
network: 선택사항입니다. 관리형 Lustre 인스턴스를 만들 Virtual Private Cloud (VPC) 네트워크입니다. 이 속성을 지정하지 않으면 기본 네트워크가 사용됩니다.공유 VPC 네트워크에서 관리형 Lustre 인스턴스를 만들려면 네트워크의 전체 이름을 제공해야 합니다. 예를 들면
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME입니다.filesystem: Managed Lustre 인스턴스의fsname를 지정합니다. 이 매개변수는 동적 프로비저닝에 사용됩니다.fsname은 영문자로 시작하는 최대 8자리 영숫자 문자열이어야 합니다. 값을 제공하지 않으면 CSI 드라이버가"lfsNNNNN"형식의fsname(예:"lfs97603")를 생성합니다.labels: 선택사항입니다. 관리형 Lustre는 인스턴스별 라벨을 키-값 쌍의 맵으로 지원합니다. Managed Lustre CSI 드라이버를 사용하면 사용자가 제공한 라벨을 인스턴스에 연결할 수 있습니다.description: 선택사항입니다. 인스턴스에 대한 설명입니다. 2,048자(영문 기준) 이하여야 합니다.perUnitStorageThroughput: 인스턴스의 단위당 스토리지 처리량(MB/s/TiB)을 지정합니다. 지원되는 값은125,250,500,1000입니다. 기본값은1000입니다.allowTopologies: 선택사항입니다. Managed Lustre 인스턴스는 영역 리소스입니다. 이 속성을 지정하지 않으면 관리형 Lustre 인스턴스가 CSI 컨트롤러 드라이버 포드와 동일한 영역에 생성되고 볼륨 바인딩 모드가 기본적으로Immediate로 설정됩니다.WaitForFirstConsumer이 지정되면 토폴로지는 포드가 예약된 위치로 설정됩니다. 하지만 이 설정으로 인해 볼륨이 프로비저닝될 때까지 포드가 차단될 수 있습니다.Managed Lustre CSI 드라이버는 토폴로지 기능을 지원하여 StorageClass에 제공된 토폴로지를 기반으로 영구 볼륨과 포드가 허용된 토폴로지에 배치되도록 합니다.
mountOptions: 선택사항입니다.mount.lustre마운트 옵션을 지정합니다. 관리형 Lustre 볼륨은pv.spec.mountOptions필드의 StorageClass에서 이러한 마운트 옵션을 상속합니다.
영구 볼륨
다음 매니페스트에는 영구 볼륨에서 지원되는 모든 필드가 포함됩니다.
apiVersion: v1
kind: PersistentVolume
metadata:
name: preprov-pv
annotations:
pv.kubernetes.io/provisioned-by: lustre.csi.storage.gke.io
spec:
mountOptions:
- LUSTRE_MOUNT_OPTIONS
...
storageClassName: ""
capacity:
storage: CAPACITY
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
volumeMode: Filesystem
csi:
driver: lustre.csi.storage.gke.io
volumeHandle: EXISTING_LUSTRE_INSTANCE_NAME
volumeAttributes:
ip: EXISTING_LUSTRE_IP_ADDRESS
filesystem: EXISTING_LUSTRE_FSNAME
다음 값을 바꿉니다.
capacity.storage: Managed Lustre 인스턴스의 용량입니다. 지원되는 최소 및 최대 인스턴스 용량은 성능 등급을 참고하세요.mountOptions:mount.lustre마운트 옵션을 지정합니다. 이 값은 StorageClass의mountOptions필드에서 상속됩니다.csi.volumeHandle: 관리형 Lustre 인스턴스의 독점 식별자입니다. PROJECT_ID/LOCATION/INSTANCE_NAME 형식을 사용해야 합니다.csi.volumeAttributes.ip: 마운트에 사용되는 Managed Lustre 인스턴스의 IP 주소입니다.csi.volumeAttributes.filesystem: Managed Lustre 인스턴스의 파일 시스템 이름입니다. 8자리 식별자입니다.