vSphere with Tanzu는 몇 가지 구성 요소를 사용하여 vSphere 스토리지와 통합합니다.

vCenter Server의 CNS(클라우드 네이티브 스토리지)
CNS 구성 요소는 vCenter Server에 상주합니다. 이것은 영구 볼륨에 대한 수명 주기 작업과 프로비저닝을 구현하는 vCenter Server 관리의 확장입니다.
컨테이너 볼륨을 프로비저닝할 때 이 구성 요소는 vSphere First Class Disk 기능과 상호 작용하여 볼륨을 지원하는 가상 디스크를 생성합니다. 또한 CNS 서버 구성 요소는 스토리지 정책 기반 관리와 통신하여 디스크에 필요한 서비스 수준을 보장합니다.
CNS는 vSphere 관리자가 vCenter Server를 통해 영구 볼륨 및 이를 지원하는 스토리지 개체를 관리하고 모니터링할 수 있도록 하는 쿼리 작업도 수행합니다.
First Class Disk(FCD)
향상된 가상 디스크라고도 합니다. VM과 연결되지 않은 명명된 가상 디스크입니다. 이러한 디스크는 VMFS, NFS 또는 vSAN 데이터스토어 및 백 ReadWriteOnce 영구 볼륨에 상주합니다.

FCD 기술은 VM 또는 포드 수명 주기 범위 밖의 영구 볼륨과 관련된 수명 주기 작업을 수행합니다.

FCD를 사용하는 경우 다음 사항에 유의하십시오.
  • FCD는 NFS 4.x 프로토콜을 지원하지 않습니다. 대신 NFS 3을 사용하십시오.
  • vCenter Server는 동일한 FCD에서 작업을 직렬화하지 않습니다. 그 결과, 애플리케이션이 동일한 FCD에서 동시에 작업을 수행할 수 없습니다. 복제, 재배치, 삭제, 검색 등의 작업을 서로 다른 스레드에서 동시에 수행하면 예측할 수 없는 결과가 발생하게 됩니다. 문제를 방지하려면 애플리케이션이 동일한 FCD에서 순차적으로 작업을 수행해야 합니다.
  • FCD는 관리되는 개체가 아니며 단일 FCD에 대한 다중 쓰기를 보호하는 글로벌 잠금을 지원하지 않습니다. 그 결과 FCD는 동일한 FCD를 관리하는 여러 vCenter Server 인스턴스를 지원하지 않습니다. FCD에서 여러 vCenter Server 인스턴스를 사용해야 하는 경우 다음 옵션이 있습니다.
    • 여러 vCenter Server 인스턴스가 서로 다른 데이터스토어를 관리할 수 있습니다.
    • 여러 vCenter Server 인스턴스가 동일한 FCD에서 작동하지 않습니다.
스토리지 정책 기반 관리
스토리지 정책 기반 관리는 스토리지 정책에 설명된 스토리지 요구 사항에 따라 영구 볼륨 및 해당 백업 가상 디스크의 프로비저닝을 지원하는 vCenter Server 서비스입니다. 프로비저닝 후에 서비스는 스토리지 정책 특성으로 볼륨의 규정 준수를 모니터링합니다. 스토리지 정책 기반 관리에 대한 자세한 내용은 스토리지 정책 기반 관리를 참조하십시오.
vSphere CNS-CSI
vSphere CNS-CSI 구성 요소는 CSI(Container Storage Interface) 규격을 준수합니다. 이것은 Kubernetes와 같은 컨테이너 Orchestrator가 영구 스토리지를 프로비저닝하는 데 사용하는 인터페이스를 제공하도록 설계된 업계 표준입니다. CNS-CSI 드라이버는 감독자 클러스터에서 실행되고 vSphere 네임스페이스의 Kubernetes 환경에 vSphere 스토리지를 연결합니다. vSphere CNS-CSI는 vSphere 포드 및 네임스페이스의 Tanzu Kubernetes 클러스터에서 실행되는 포드로부터 전송되는 모든 스토리지 프로비저닝 요청에 대해 CNS 제어부와 직접 통신합니다.
pvCSI(반가상화 CSI)
pvCSI는 Tanzu Kubernetes 클러스터에 대해 수정된 vSphere CNS-CSI 드라이버의 버전입니다. pvCSI는 Tanzu Kubernetes 클러스터에 상주하며 Tanzu Kubernetes 클러스터에서 시작되는 모든 스토리지 관련 요청을 담당합니다. 요청은 CNS-CSI로 전달된 다음 vCenter Server의 CNS로 전파됩니다. 결과적으로 pvCSI는 CNS 구성 요소와 직접적으로 통신하지 않지만 대신 CNS-CSI를 통해 모든 스토리지 프로비저닝 작업을 수행합니다.
CNS-CSI와 달리 pvCSI에는 인프라 자격 증명이 필요하지 않습니다. pvCSI는 vSphere 네임스페이스에서 서비스 계정으로 구성됩니다.

CNS는 vCenter Server 구성 요소로 표시되고 CNS-CSI는 감독자 클러스터 구성 요소로 표시됩니다. pvCSI는 TKG 클러스터 구성 요소입니다.

다음은 DevOps 엔지니어가 Tanzu Kubernetes 클러스터 내에서 스토리지 관련 작업을 수행할 때 서로 다른 구성 요소가 어떤 방식으로 상호 작용하는지 보여 줍니다. 예를 들어 PVC(영구 볼륨 할당)가 생성됩니다.

DevOps 엔지니어가 Tanzu Kubernetes 클러스터에서 명령줄을 사용하여 PVC를 생성합니다. 이 작업을 수행하면 감독자 클러스터에서 일치하는 PVC가 생성되고 CNS-CSI가 트리거됩니다. CNS-CSI는 CNS 볼륨 생성 API를 호출합니다.

세 구성 요소가 상호 작용하여 영구 볼륨을 생성합니다.

볼륨 생성이 완료되면 작업이 감독자 클러스터를 통해 Tanzu Kubernetes 클러스터로 다시 전파됩니다. 이 전파의 결과로 사용자는 감독자 클러스터에서 바인딩된 상태의 영구 볼륨과 영구 볼륨 할당을 볼 수 있습니다. 또한 Tanzu Kubernetes 클러스터에서 바인딩된 상태의 영구 볼륨과 영구 볼륨 할당을 볼 수 있습니다.