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

Kubernetes 클러스터
Kubernetes 제어부 및 작업자 서비스가 실행되는 VM의 클러스터입니다. 컨테이너화된 애플리케이션은 Kubernetes 클러스터 위에 배포합니다. 애플리케이션은 상태 정보를 저장하거나 저장하지 않을 수 있습니다.
포드
포드는 스토리지 및 네트워크와 같은 리소스를 공유하는 하나 이상의 컨테이너 그룹입니다. 포드 내부의 컨테이너는 그룹으로 시작되고, 중지되고, 복제됩니다.
컨테이너 Orchestrator
호스트 클러스터 전반의 컨테이너화된 애플리케이션의 배포, 크기 조정 및 관리를 위한 오픈 소스 플랫폼(예: Kubernetes)입니다. 이 플랫폼은 컨테이너 중심의 인프라를 제공합니다.
상태 저장 애플리케이션
컨테이너화 애플리케이션이 상태 비저장에서 상태 저장으로 발전하면 영구 스토리지가 필요합니다. 세션 간에 데이터를 저장하지 않는 상태 비저장 애플리케이션과 달리 상태 저장 애플리케이션은 데이터를 영구 스토리지에 저장합니다. 보존된 데이터를 애플리케이션의 상태라고 합니다. 나중에 데이터를 검색하여 다음 세션에서 사용할 수 있습니다. 대부분의 애플리케이션은 상태 저장 애플리케이션입니다. 데이터베이스는 상태 저장 애플리케이션의 일례입니다.
영구 볼륨
상태 저장 애플리케이션은 영구 볼륨을 사용하여 데이터를 저장합니다. 영구 볼륨은 상태와 데이터를 유지할 수 있는 Kubernetes 볼륨입니다. 이는 포드와 독립적이며 포드를 삭제하거나 재구성해도 계속 존재할 수 있습니다. vSphere 환경에서 영구 볼륨 개체는 가상 디스크(VMDK)를 백업 스토리지로 사용합니다.
스토리지 클래스
Kubernetes는 StorageClass를 사용하여 다양한 스토리지 계층을 정의하고 PersistentVolume을 백업하는 스토리지에 대한 다양한 유형의 요구 사항을 설명합니다. vSphere 환경에서 스토리지 클래스를 스토리지 정책에 연결할 수 있습니다. vSphere 관리자는 다양한 스토리지 요구 사항을 설명하는 스토리지 정책을 생성합니다. VM 스토리지 정책은 동적 볼륨 프로비저닝을 위한 StorageClass 정의의 일부로 사용될 수 있습니다.

다음 샘플 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을 통해 영구 스토리지를 요청할 수 있습니다. PersistentVolumeClaim은 스토리지 유형 및 클래스, 액세스 모드(ReadWriteOnce 또는 ReadWriteMany), PersistentVolume의 기타 매개 변수를 지정합니다. 그러면 요청은 vSphere 환경에서 해당 PersistentVolume 개체와 기본 가상 디스크 를 동적으로 프로비저닝할 수 있습니다.
할당이 생성되면 영구 볼륨이 할당에 자동으로 바인딩됩니다. 포드는 할당을 사용하여 영구 볼륨을 마운트하고 스토리지에 액세스합니다.
이 할당을 삭제하면 해당하는 PersistentVolume 개체와 프로비저닝된 기본 스토리지가 삭제됩니다.
kind: PersistentVolumeClaim
metadata:
 name: persistent-VMDK
spec:
 accessModes:
 - ReadWriteOnce
 resources:
 requests:
 storage: 5Gi
 storageClassName: gold-sc
상태 저장 집합
상태 저장 집합은 상태 저장 애플리케이션의 배포 및 확장을 관리합니다. 상태 저장 집합은 안정적인 식별자나 안정적인 영구 스토리지가 필요한 애플리케이션에 유용합니다. 영구 볼륨 할당 개체를 자동으로 생성하는 볼륨 할당 템플릿 항목을 포함하도록 상태 저장 집합을 구성할 수 있습니다.