5.7.3. OpenStack Cinder CSI를 기본 스토리지 클래스로 설정
OpenShift Container Platform에서 기본 스토리지 클래스는 in-tree Cinder 드라이버를 참조합니다. 스토리지 클래스는 OpenShift Container Platform의 후속 업데이트에서 OpenStack Cinder CSI를 참조합니다. 기존 in-tree 스토리지 클래스를 사용하여 프로비저닝된 볼륨은 해당 시점에서 OpenStack Cinder CSI 스토리지 클래스로 마이그레이션할 계획입니다.
OpenStack Cinder CSI 드라이버는 cinder.csi.openstack.org
매개변수 키를 사용한 동적 프로비저닝을 지원합니다.
OpenShift Container Platform에서 OpenStack Cinder CSI 프로비저닝을 활성화하려면 기본 in-tree 스토리지 클래스를 standard-csi
로 덮어쓰는 것이 좋습니다. 다른 방법으로 PVC(영구 볼륨 클레임)를 생성하고 스토리지 클래스를 "standard-csi"로 지정할 수 있습니다.
절차
기본 in-tree 스토리지 클래스를 작성하여 standard-csi
스토리지 클래스를 적용하려면 다음 단계를 사용합니다.
스토리지 클래스를 나열합니다.
$ oc get storageclass
출력 예
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE standard(default) cinder.csi.openstack.org Delete WaitForFirstConsumer true 46h standard-csi kubernetes.io/cinder Delete WaitForFirstConsumer true 46h
기본 StorageClass에 대해 주석
storageclass.kubernetes.io/is-default-class
의 값을false
로 변경합니다.$ oc patch storageclass standard -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
주석을
storageclass.kubernetes.io/is-default-class=true
로 추가하거나 수정하여 다른 스토리지 클래스를 기본값으로 설정합니다.$ oc patch storageclass standard-csi -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
PVC가 기본적으로 CSI 스토리지 클래스를 참조하는지 확인합니다.
$ oc get storageclass
출력 예
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE standard kubernetes.io/cinder Delete WaitForFirstConsumer true 46h standard-csi(default) cinder.csi.openstack.org Delete WaitForFirstConsumer true 46h
선택 사항: 스토리지 클래스를 지정하지 않고도 새 PVC를 정의할 수 있습니다.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: cinder-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
특정 스토리지 클래스를 지정하지 않는 PVC는 기본 스토리지 클래스를 사용하여 자동으로 프로비저닝됩니다.
선택 사항: 새 파일을 구성한 후 클러스터에 생성합니다.
$ oc create -f cinder-claim.yaml
추가 리소스