Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

28.12. 기존 레거시 스토리지에 스토리지 클래스 사용

28.12.1. 개요

이 예에서는 레거시 데이터 볼륨이 존재하며 cluster-admin 또는 storage-admin 은 특정 프로젝트에서 사용할 수 있도록 설정해야 합니다. 스토리지 클래스를 사용하면 StorageClass 이름에 대해 클레임과 정확히 일치하는 값이 있어야 하므로 클레임에서 이 볼륨에 액세스할 수 있는 다른 사용자와 프로젝트가 발생할 가능성이 줄어듭니다. 이 예제에서는 동적 프로비저닝도 비활성화합니다. 이 예제에서는 다음을 가정합니다.

28.12.1.1. 시나리오 1: 레거시 데이터로 스토리지 클래스를 기존 영구 볼륨에 연결

cluster-admin 또는 storage-admin 으로 기록 금융 데이터에 대한 StorageClass 를 정의하고 생성합니다.

예 28.23. 스토리지 클래스 finance-history 오브젝트 정의

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: finance-history 1
provisioner: no-provisioning 2
parameters: 3
1
StorageClass의 이름입니다.
2
이는 필수 필드이지만 동적 프로비저닝이 없기 때문에 실제 프로비저너 플러그인 유형이 아닌 한 값을 배치해야 합니다.
3
매개 변수는 동적 프로비저너에만 사용되므로 비워 둘 수 있습니다.

정의를 YAML 파일(finance-history-storageclass.yaml)에 저장하고 StorageClass 를 만듭니다.

# oc create -f finance-history-storageclass.yaml
storageclass "finance-history" created


# oc get storageclass
NAME              TYPE
finance-history   no-provisioning
중요

cluster-admin 또는 storage-admin 사용자는 올바른 StorageClass 이름을 올바른 사용자, 그룹 및 프로젝트로 중계합니다.

StorageClass 가 있습니다. cluster-admin 또는 storage-adminStorageClass 에 사용할 영구 볼륨(PV)을 생성할 수 있습니다. 새 GCE 디스크(gce-pv.yaml)에 연결하는 GCE(동적 프로비저닝되지 않음) 및 영구 볼륨을 사용하여 수동으로 프로비저닝된 디스크를 생성합니다.

예 28.24. 재무 기록 PV 오브젝트

apiVersion: v1
kind: PersistentVolume
metadata:
 name: pv-finance-history
spec:
 capacity:
   storage: 35Gi
 accessModes:
   - ReadWriteMany
 gcePersistentDisk:
   readOnly: false
   pdName: the-existing-PD-volume-name-that-contains-the-valuable-data 1
   fsType: ext4
 storageClassName: finance-history 2
2
정확히 일치해야 하는 StorageClass 이름입니다.
1
기존 데이터가 이미 존재하고 있는 GCE 디스크의 이름입니다.

cluster-admin 또는 storage-admin 으로 PV를 생성하고 확인합니다.

# oc create -f gce-pv.yaml
persistentvolume "pv-finance-history" created

# oc get pv
NAME                CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS      CLAIM                        REASON    AGE
pv-finance-history   35Gi       RWX           Retain          Available                                          2d

pv-finance-history Available(사용 가능)이 있으며 사용할 준비가 되어 있습니다.

사용자로 PVC(영구 볼륨 클레임)를 YAML 파일로 생성하고 올바른 StorageClass 이름을 지정합니다.

예 28.25. finance-history 오브젝트 정의 클레임

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: pvc-finance-history
spec:
 accessModes:
  - ReadWriteMany
 resources:
   requests:
     storage: 20Gi
 storageClassName: finance-history 1
1
StorageClass 이름은 정확히 일치해야 합니다. 그렇지 않으면 클레임이 삭제되거나 이름과 일치하는 다른 StorageClass 가 생성될 때까지 바인딩되지 않습니다.

PVC 및 PV를 생성하고 보고 바인딩되었는지 확인합니다.

# oc create -f pvc-finance-history.yaml
persistentvolumeclaim "pvc-finance-history" created

# oc get pvc
NAME                  STATUS    VOLUME               CAPACITY   ACCESSMODES   AGE
pvc-finance-history   Bound     pv-finance-history   35Gi       RWX           9m


# oc get pv  (cluster/storage-admin)
NAME                 CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS      CLAIM                         REASON    AGE
pv-finance-history   35Gi       RWX           Retain          Bound       default/pvc-finance-history             5m
중요

기존 데이터( 동적 프로비저닝 없음) 및 동적 프로비저닝에 대해 동일한 클러스터에서 StorageClass 를 사용할 수 있습니다 .