vSphere 클라우드 네이티브 스토리지 환경에 필수적인 몇 가지 개념을 숙지해야 합니다.

Kubernetes 클러스터
클라우드 네이티브 스토리지 환경에서는 가상 시스템의 클러스터에 일반 Kubernetes 클러스터를 배포할 수 있습니다. 컨테이너화된 애플리케이션은 Kubernetes 클러스터 위에 배포합니다. 애플리케이션은 상태 정보를 저장하거나 저장하지 않을 수 있습니다.
참고: vSphere with Tanzu에서 실행할 수 있는 감독자 클러스터 및 TKG 클러스터에 대한 자세한 내용은 " vSphere with Tanzu 구성 및 관리" 설명서를 참조하십시오.
포드
포드는 스토리지 및 네트워크와 같은 리소스를 공유하는 하나 이상의 컨테이너화된 애플리케이션 그룹입니다. 포드 내부의 컨테이너는 그룹으로 시작되고, 중지되고, 복제됩니다.
컨테이너 Orchestrator
호스트 클러스터 전반의 컨테이너화된 애플리케이션의 배포, 크기 조정 및 관리를 위한 오픈 소스 플랫폼(예: Kubernetes)입니다. 이 플랫폼은 컨테이너 중심의 인프라를 제공합니다.
상태 저장 애플리케이션
컨테이너화 애플리케이션이 상태 비저장에서 상태 저장으로 발전하면 영구 스토리지가 필요합니다. 세션 간에 데이터를 저장하지 않는 상태 비저장 애플리케이션과 달리 상태 저장 애플리케이션은 데이터를 영구 스토리지에 저장합니다. 보존된 데이터를 애플리케이션의 상태라고 합니다. 나중에 데이터를 검색하여 다음 세션에서 사용할 수 있습니다. 대부분의 애플리케이션은 상태 저장 애플리케이션입니다. 데이터베이스는 상태 저장 애플리케이션의 일례입니다.
영구 볼륨
상태 저장 애플리케이션은 영구 볼륨을 사용하여 데이터를 저장합니다. 영구 볼륨은 상태와 데이터를 유지할 수 있는 Kubernetes 볼륨입니다. 이는 포드와 독립적이며 포드를 삭제하거나 재구성해도 계속 존재할 수 있습니다. vSphere 환경에서 영구 볼륨 개체는 FCD(First Class Disk) 유형의 vSphere 가상 디스크 또는 vSAN 파일 공유를 백업 스토리지로 사용합니다.
  • 가상 디스크는 ReadWriteOnce로 마운트된 볼륨을 지원합니다. 이러한 볼륨은 Kubernetes의 단일 포드에서만 사용할 수 있습니다.

    vSphere 7.0부터 vSphere 암호화 기술을 사용하여 영구 볼륨을 지원하는 FCD 가상 디스크를 보호할 수 있습니다. 자세한 내용은 클라우드 네이티브 스토리지에 암호화 사용의 내용을 참조하십시오.

  • vSAN 파일 공유는 다수의 노드에서 마운트된 ReadWriteMany 볼륨을 지원합니다. 이러한 볼륨은 여러 Kubernetes 노드 또는 Kubernetes 클러스터에서 실행되는 여러 포드 또는 애플리케이션 간에 공유할 수 있습니다. 파일 공유를 통해 가능한 구성에 대한 자세한 내용은 vSAN 파일 서비스를 사용하여 파일 볼륨 프로비저닝 항목을 참조하십시오.
스토리지 클래스
Kubernetes는 스토리지 클래스를 사용하여 다양한 스토리지 계층을 정의하고 영구 볼륨을 지원하는 스토리지에 대한 다양한 유형의 요구 사항을 설명합니다. vSphere 환경에서 스토리지 클래스를 스토리지 정책에 연결할 수 있습니다. vSphere 관리자는 다양한 스토리지 요구 사항을 설명하는 스토리지 정책을 생성합니다. VM 스토리지 정책은 동적 볼륨 프로비저닝을 위한 스토리지 클래스 정의의 일부로 사용될 수 있습니다.

다음 샘플 YAML 파일은 이전에 vSphere Client를 사용하여 생성한 Gold 스토리지 정책을 참조합니다. 생성된 영구 볼륨 VMDK는 Gold 스토리지 정책 요구 사항을 충족하는 호환 가능한 데이터스토어에 배치됩니다.

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: gold-sc
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: csi.vsphere.vmware.com
parameters:
  storagepolicyname: "Gold"
  
영구 볼륨 할당
대개 애플리케이션이나 포드는 영구 볼륨 할당을 통해 영구 스토리지를 요청할 수 있습니다. PersistentVolumeClaim은 스토리지 유형 및 클래스, 액세스 모드(ReadWriteOnce 또는 ReadWriteMany), PersistentVolume의 기타 매개 변수를 지정합니다. 그러면 요청은 vSphere 환경에서 해당 영구 볼륨 개체와 기본 가상 디스크 또는 vSAN 파일 공유를 동적으로 프로비저닝할 수 있습니다.
할당이 생성되면 영구 볼륨이 할당에 자동으로 바인딩됩니다. 포드는 할당을 사용하여 영구 볼륨을 마운트하고 스토리지에 액세스합니다.
이 할당을 삭제하면 해당하는 영구 볼륨 개체와 프로비저닝된 기본 스토리지가 삭제됩니다.
kind: PersistentVolumeClaim
metadata:
 name: persistent-VMDK
spec:
 accessModes:
 - ReadWriteOnce
 resources:
 requests:
 storage: 5Gi
 storageClassName: gold-sc