8.5. 동적 프로비저닝

8.5.1. 동적 프로비저닝 소개

StorageClass 리소스 객체는 요청 가능한 스토리지를 설명하고 분류할 뿐 만 아니라 필요에 따라 동적으로 프로비저닝된 스토리지에 대한 매개 변수를 전달하는 수단을 제공합니다. StorageClass 객체는 다른 수준의 스토리지 및 스토리지에 대한 액세스를 제어하기 위한 관리 메커니즘으로 사용될 수 있습니다. 클러스터 관리자(cluster-admin) 또는스토리지 관리자(스토리지 관리자)는 사용자가 기본 스토리지 볼륨 소스에 대한 지식이 없어도 요청할 수 있는 StorageClass 오브젝트를 정의하고 생성합니다.

OpenShift Container Platform 영구 볼륨 프레임 워크를 사용하면이 기능을 사용할 수 있으며 관리자는 영구 스토리지로 클러스터를 프로비저닝할 수 있습니다. 또한 이 프레임 워크를 통해 사용자는 기본 인프라에 대한 지식이 없어도 해당 리소스를 요청할 수 있습니다.

OpenShift Container Platform에서 많은 스토리지 유형을 영구 볼륨으로 사용할 수 있습니다. 스토리지 플러그인은 정적 프로비저닝, 동적 프로비저닝 또는 두 가지 프로비저닝 유형 모두를 지원할 수 있습니다.

8.5.2. OpenShift Data Foundation의 동적 프로비저닝

Red Hat OpenShift Data Foundation은 컨테이너 환경에 최적화된 소프트웨어 정의 스토리지입니다. OpenShift Container Platform에서 운영자로 실행되어 컨테이너에 대해 고도로 통합되고 단순화된 영구 스토리지 관리를 제공합니다.

OpenShift Data Foundation은 다음을 비롯한 다양한 스토리지 유형을 지원합니다.

  • 데이터베이스용 블록 스토리지
  • 지속적인 통합, 메시징 및 데이터 집계를 위한 공유 파일 스토리지
  • 아카이브, 백업 및 미디어 스토리지를 위한 오브젝트 스토리지

버전 4에서는 Red Hat Ceph Storage를 사용하여 영구 볼륨을 지원하는 파일, 블록 및 오브젝트 스토리지를 제공하고 Rook.io를 사용하여 영구 볼륨 및 클레임 프로비저닝을 관리하고 오케스트레이션합니다. NooBaa는 개체 스토리지를 제공하고, Multicloud Gateway를 사용하면 여러 클라우드 환경에서 개체 페더레이션(기술 프리뷰로 제공)이 가능합니다.

OpenShift Data Foundation 4에서 RBD(RADOS Block Device) 및 Ceph File System(CephFS)용 Red Hat Ceph Storage CSI(Container Storage Interface) 드라이버는 동적 프로비저닝 요청을 처리합니다. PVC 요청이 동적으로 제공되면 CSI 드라이버에는 다음과 같은 옵션이 있습니다.

  • 볼륨 모드 블록이있는 Ceph RBD를 기반으로 RWO(ReadWriteOnce) 및 RWX(ReadWriteMany) 액세스 권한이 있는 PVC를 만듭니다.
  • 볼륨 모드 Filesystem이 있는 Ceph RBD를 기반으로 하는 RWO(ReadWriteOnce) 액세스 권한이 있는 PVC를 만듭니다.
  • 볼륨 모드 Filesystem의 CephFS를 기반으로 하는 RWO(ReadWriteOnce) 및 RWX(ReadWriteMany) 액세스 권한으로 PVC를 생성합니다.

사용할 드라이버(RBD 또는 CephFS)는 storageclass.yaml 파일의 항목을 기반으로 합니다.

8.5.3. 사용 가능한 동적 프로비저닝 플러그인

OpenShift Container Platform은 다음과 같은 프로비저너 플러그인을 제공합니다. 이에는 클러스터의 구성된 제공자 API를 사용하여 새 스토리지 리소스의 동적 프로비저닝을 위한 일반 구현이 포함되어 있습니다.

스토리지 유형프로비저너 플러그인 이름참고

OpenStack Cinder

kubernetes.io/cinder

 

AWS Elastic Block Store (EBS)

kubernetes.io/aws-ebs

다른 영역에서 여러 클러스터를 사용할 때 동적 프로비저닝의 경우 각 노드에 Key=kubernetes.io/cluster/<cluster_name>,Value=<cluster_id>로 태그를 지정합니다. 여기서 <cluster_name><cluster_id>는 클러스터마다 고유합니다.

AWS Elastic File System (EFS)

 

동적 프로비저닝은 프로비저너 플러그인이 아닌 EFS 프로비저너 Pod를 통해 수행됩니다.

Azure Disk

kubernetes.io/azure-disk

 

Azure File

kubernetes.io/azure-file

persistent-volume-binder ServiceAccount에는 Azure 저장소 계정 및 키를 저장할 Secrets를 생성하고 검색할 수 있는 권한이 필요합니다.

GCE Persistent Disk (gcePD)

kubernetes.io/gce-pd

멀티 존 설정에서는 현재 클러스터에 노드가 없는 영역에서 PV가 생성되지 않도록 GCE 프로젝트 당 하나의 OpenShift Container Platform 클러스터를 실행하는 것이 좋습니다.

VMware vSphere

kubernetes.io/vsphere-volume

 

Red Hat Virtualization

csi.ovirt.org

 
중요

선택한 프로비저너 플러그인에는 관련 문서에 따라 클라우드, 호스트 또는 타사 공급자를 구성해야 합니다.