[번역] Cloud Native Storage and vSAN File Services Integration

출처 : https://blogs.vmware.com/virtualblocks/2020/03/12/cloud-native-storage-and-vsan-file-services-integration/

개요

vSphere 6.7 U3을 사용하여 vSphere에서 볼륨을 온디맨드 방식으로 프로비저닝해야 하는 컨테이너 기반 워크로드에 맞게 구축된 Cloud Native Storage Control Plane을 vSphere에 도입했다.

초기 릴리즈는 영구 볼륨이 필요한 가장 일반적인 워크로드, 즉 ReadWriteOnce 유형(기본적으로 단일 볼륨을 탑재하는 단일 컨테이너)에 대해 제공되었다. 이것이 가장 일반적인 사용 사례인 반면, 우리가 잘 알고 있는 다른 사용 사례도 있었고 실제로 그들의 스토리지 요구에 부응하기 위해 동기 부여된 경우도 있었다.

많은 애플리케이션이 ReadWriteMany 볼륨(읽기/쓰기 방식으로 단일 볼륨을 다중 컨테이너에서 마운트)을 이용할 수 있다. NginX, Apache, Tomcat, Harbor Registration 등-여러 컨테이너가 하나의 볼륨을 마운트-스토리지 효율성을 실현하거나, 프런트 엔드 업데이트를 더 쉽게 하거나 등.

또한 vSphere 및 vSAN 7.0과 당사가 제공하는 CNS를 함께 사용하면 RWM 모드의 Kubernetes Persistent Volumes를 위한 온디맨드 프로비저닝을 완벽하게 수행할 수 있다.

왜 필요한가?

당신이 물어보길 잘 했네요. 일부 애플리케이션, 특히 웹 서버, 앱 서버 및 컨테이너 등록부는 ReadWriteMany(RWM) 볼륨으로 알려진 Kubernetes 개념을 사용하여 대규모 스토리지 효율성과 확장 용이성을 실현할 수 있다.

이러한 애플리케이션이 어떻게 확장되는지 생각해 보면, 부하에 따라 탄력적으로 작동하는데, 이는 매우 변화하기 쉽다. 그러나 모두 동일한 컨텐츠를 제공한다. 10대의 웹 또는 앱 서버가 모두 다른 컨텐츠를 서비스하고 있다면 무슨 소용이 있겠는가?

그렇다면 이 모든 콘텐츠가 동일한 경우 - 외부로 만들 수 있고 이와 같이 상당한 스토리지 효율성을 실현할 수 있는데 왜 컨테이너 자체에 컨텐츠를 넣는가? 저장한 스토리지의 양은 실제로 이 볼륨을 탑재하는 컨테이너의 수와 정비례한다. 만약 10대의 웹 서버가 실제 웹 사이트 데이터가 저장되어 있는 동일한 볼륨을 탑재하고 있다면, 기본적으로 해당 스토리지에서 10-1 만큼(즉 9)을 절약할 수 있다.

즉, 한 컨테이너를 통해 컨텐츠를 업데이트할 때(웹 사이트 업데이트가 이루어진다고 가정함) 다른 모든 컨테이너에서 즉시 제공되는 콘텐츠가 동일한 볼륨의 지원을 받는다는 사실은 말할 필요도 없다. 그래서 좋은 운영 효율성도 가지고 있다.

무엇처럼 보이나요?

"왜"라는 말을 꺼내고, "무엇"으로 넘어가자. 이 기능은 어떻게 작동하는지 볼 수 있을 때 가장 잘 설명되므로 아래 기능의 짧은 비디오 데모를 확인해 보자.

사용자가 Kubernetes에서 RWM 볼륨을 요청할 때 CNS는 vSAN 파일 서비스에 요청하여 요청된 크기 및 적절한 SPBM 정책의 NFS 기반 파일 공유를 생성하고 볼륨을 요청하는 Pod가 상주하는 Kubernetes 작업자 노드에 마운트하도록 요청하며, 또한 여러 노드가 RWM 볼륨 또는 애플리케이션에 대한 액세스를 요청하는 경우스케일 아웃, CNS는 특정 전개에 대한 RWM 볼륨이 이미 존재하며 기존 볼륨도 이 볼륨에 탑재한다는 점을 주목한다.

cns-fs-scaled.png

위의 참고 사항. vSAN File Service를 통해 단일 볼륨을 마운트하는 여러 개의 포드

cns-fs-share-scaled.png

CNS에 의해 프로비저닝된 File Shares는 사용자가 생성한 파일 공유와 함께 바로 관리되므로 VM 또는 컨테이너 볼륨을 처리하든 동일한 운영 환경을 제공한다는 점에 유의한다.

요구사항은 무엇인가?

CNS가 RWM 볼륨을 지원하기 위해서는 vSAN 및 vSphere 7.0이 필요하며, 다른 플랫폼이 아닌 vSAN과의 공유 라이프사이클을 제어하기 때문에 vSAN File Service는 필수 사항이다. 또한 쿠버네티스 v1.14 이상과 가까운 미래에 출판될 CSI 드라이버의 최신 버전을 요구한다.