4.3. Serving에 대한 영구 볼륨 클레임
일부 서버리스 애플리케이션에는 영구 데이터 스토리지가 필요합니다. 다양한 볼륨 유형을 구성하면 Knative 서비스에 데이터 스토리지를 제공할 수 있습니다. 서비스 제공에서는 보안
,configMap
,projected
, emptyDir
과 같은 볼륨 유형 마운트를 지원합니다.
Knative 서비스에 대한 PVC(영구 볼륨 클레임)를 구성할 수 있습니다. 영구 볼륨 유형은 플러그인으로 구현됩니다. 사용 가능한 영구 볼륨 유형이 있는지 확인하려면 클러스터에 사용 가능한 스토리지 클래스 또는 설치된 스토리지 클래스를 확인할 수 있습니다. 영구 볼륨이 지원되지만 기능 플래그를 활성화해야 합니다.
대용량 볼륨을 마운트하면 애플리케이션 시작 시간이 상당히 지연될 수 있습니다.
4.3.1. PVC 지원 활성화
프로세스
Knative Serving에서 PVC를 사용하고 쓸 수 있도록 하려면 다음 YAML을 포함하도록
KnativeServing
CR(사용자 정의 리소스)을 수정합니다.쓰기 액세스 권한이 있는 PVC 활성화
... spec: config: features: "kubernetes.podspec-persistent-volume-claim": enabled "kubernetes.podspec-persistent-volume-write": enabled ...
-
kubernetes.podspec-persistent-volume-claim
확장은 Knative Serving에서 PV(영구 볼륨)를 사용할 수 있는지 여부를 제어합니다. -
kubernetes.podspec-persistent-volume-write
확장은 쓰기 액세스 권한이 있는 Knative Serving에서 PV를 사용할 수 있는지 여부를 제어합니다.
-
PV를 클레임하려면 PV 구성을 포함하도록 서비스를 수정합니다. 예를 들어 다음 구성이 포함된 영구 볼륨 클레임이 있을 수 있습니다.
참고요청하는 액세스 모드를 지원하는 스토리지 클래스를 사용합니다. 예를 들어
ReadWriteMany
액세스 모드에ocs-storagecluster-cephfs
스토리지 클래스를 사용할 수 있습니다.ocs-storagecluster-cephfs
스토리지 클래스가 지원되며 Red Hat OpenShift Data Foundation 에서 제공됩니다.PersistentVolumeClaim 구성
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: example-pv-claim namespace: my-ns spec: accessModes: - ReadWriteMany storageClassName: ocs-storagecluster-cephfs resources: requests: storage: 1Gi
이 경우 쓰기 액세스 권한이 있는 PV를 클레임하려면 다음과 같이 서비스를 수정합니다.
Knative 서비스 PVC 구성
apiVersion: serving.knative.dev/v1 kind: Service metadata: namespace: my-ns ... spec: template: spec: containers: ... volumeMounts: 1 - mountPath: /data name: mydata readOnly: false volumes: - name: mydata persistentVolumeClaim: 2 claimName: example-pv-claim readOnly: false 3
참고Knative 서비스에서 영구 스토리지를 성공적으로 사용하려면 Knative 컨테이너 사용자의 사용자 권한과 같은 추가 구성이 필요합니다.