5.4.2. CSI 볼륨 복제 프로비저닝
복제된 PVC(영구 볼륨 클레임) API 오브젝트를 생성할 때 CSI 볼륨 복제 프로비저닝을 트리거합니다. 복제본은 다른 PVC 콘텐츠로 미리 채워져 다른 영구 볼륨과 동일한 규칙으로 구성됩니다. 한 가지 예외는 동일한 네임스페이스에서 기존 PVC를 참조하는 dataSource
를 추가해야 한다는 것입니다.
사전 요구 사항
- 실행 중인 OpenShift Container Platform 클러스터에 로그인되어 있습니다.
- 볼륨 복제를 지원하는 CSI 드라이버를 사용하여 PVC가 생성되었습니다.
- 동적 프로비저닝을 위해 스토리지 백엔드가 구성되어 있습니다. 정적 프로비저너에서는 복제 지원을 사용할 수 없습니다.
절차
기존 PVC에서 PVC를 복제하려면 다음을 수행합니다.
다음 YAML로 설명된
PersistentVolumeClaim
오브젝트를 사용하여 파일을 생성하고 저장합니다.pvc-clone.yaml
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-1-clone namespace: mynamespace spec: storageClassName: csi-cloning 1 accessModes: - ReadWriteOnce resources: requests: storage: 5Gi dataSource: kind: PersistentVolumeClaim name: pvc-1
- 1
- 스토리지 백엔드를 프로비저닝하는 스토리지 클래스의 이름입니다. 기본 스토리지 클래스를 사용할 수 있으며
storageClassName
은 사양에서 생략할 수 있습니다.
다음 명령을 실행하여 이전 단계에서 저장한 오브젝트를 생성합니다.
$ oc create -f pvc-clone.yaml
새 PVC
pvc-1-clone
이 생성됩니다.볼륨 복제가 생성되어 다음 명령을 실행하여 준비되었는지 확인합니다.
$ oc get pvc pvc-1-clone
pvc-1-clone
에Bound
로 표시됩니다.이제 새로 복제된 PVC를 사용하여 Pod를 구성할 준비가 되었습니다.
YAML로 설명된
Pod
오브젝트로 파일을 생성하고 저장합니다. 예를 들면 다음과 같습니다.kind: Pod apiVersion: v1 metadata: name: mypod spec: containers: - name: myfrontend image: dockerfile/nginx volumeMounts: - mountPath: "/var/www/html" name: mypd volumes: - name: mypd persistentVolumeClaim: claimName: pvc-1-clone 1
- 1
- CSI 볼륨 복제 작업 중에 생성된 복제 PVC입니다.
생성된
Pod
오브젝트가 원래dataSource
PVC와 독립적으로 복제된 PVC를 사용, 복제, 삭제하거나 그 스냅샷을 생성할 준비가 되었습니다.