A first look at DPp (Data Persistence platform) and MinIO

오늘은 새로운 vSAN Data Persistence Platform(DPp)에 대해 자세히 알아보겠습니다. 이것이 지난주에 공식 출시된 VMware Cloud Foundation 환경을 버전 4.2로 업데이트한 주요 이유라고 언급했습니다. DPP에 포함된 서비스 중 하나는 MinIOS3 호환 객체 저장소입니다. 이 사이트에서 MinIO에 대해 여러 번 썼지만, 이제 새로운 DPP에 서비스로 통합되었다는 사실은 이전보다 훨씬 더 쉽게 구축할 수 있게 해줍니다. 이 게시물에서는 DPP에서 MinIOS3 서비스를 활성화하기 위한 단계를 살펴보겠습니다. 먼저 MinIO Operator 및 관련 vSphere 플러그인을 사용하도록 설정합니다. 그런 다음 vSphere with Tanzu VCF(또는 VCF with Tanzu)에 “tenant” 전용 S3 개체 저장소를 생성하겠습니다. 이는 고유한 MinIOS3 객체 저장소를 Tanzu 네임스페이스에 VCF를 할당함으로써 달성됩니다.

MinIO 서비스 사용

먼저 감독관 서비스의 관점부터 살펴보겠습니다. VCF 환경을 버전 4.2로 업그레이드할 때 이러한 사항을 간략히 살펴보았습니다. 보시는 바와 같이, 이 릴리스에서는 다음 세 가지 서비스를 사용할 수 있습니다. MinIO, Cloudian Hyperstore(S3 Object Store) 및 Velero vSphere Operator(Kubernetes 개체 백업 및 복원용) 이 게시물에서는 MinIO에 초점을 맞추겠습니다. 향후 게시물에서는 다른 서비스에 대해 살펴보겠습니다.

MinIO 서비스를 활성화하려면 해당 서비스를 선택하십시오. Enable(활성화) 옵션은 아래와 같이 강조 표시되므로 다음 항목을 클릭합니다.

다음 단계는 MinIO 이미지를 가져올 리포지토리 끝점을 선택하는 것입니다. 이러한 “공백”을 기본값으로 둘 수 있습니다. 그러면 이미지가 도커 허브에서 직접 당겨집니다. 그러나 VMware 또는 MinIO의 조언에 따라 다른 저장소에서 이러한 리소스를 가져와야 하는 경우가 있습니다. 참조용으로 아래 입력된 필드를 표시했지만, 배포의 경우 필드를 비워 두면 됩니다(새로운 도커 속도 제한 문제가 발생하지 않기를 바랍니다). 또한 끝점에 http/https 접두사가 없습니다. 마지막으로 MinIO 개체에 레이블을 추가하는 옵션이 있습니다.

다음 단계는 EULA에 동의하고 마침을 클릭하는 것입니다. MinIO는 60일 평가 기간을 제공하며, 이후 라이센스를 구입해야 합니다.

이제 Supervisor Cluster에 새 네임스페이스(예: minio-domain-X)가 생성되고 MinIO 연산자를 비롯한 여러 PodVM이 프로비저닝되기 시작합니다. 다음은 vSphere 클라이언트의 PodVM 보기입니다.

PodVM은 Supervisor 클러스터에 로그온하고 컨텍스트를 새 mini-domain-x로 변경하여 검사할 수 있습니다. 이 단계는 이벤트에 대한 PodVM 설명, PodVM 로그 표시 등과 같은 문제 해결에도 사용할 수 있습니다.

$ kubectl-vsphere login --vsphere-username administrator@vsphere.local \
--server=https://20.0.0.1 \
--insecure-skip-tls-verify


Password: ********
Logged in successfully.


You have access to the following contexts:
   20.0.0.1
   cormac-ns
   minio-domain-c8


If the context you wish to use is not in this list, you may need to try
logging in again later, or contact your cluster administrator.


To change context, use `kubectl config use-context <workload name>`

$ kubectl config use-context minio-domain-c8
Switched to context "minio-domain-c8".

$ kubectl get pods

NAME                                        READY   STATUS    RESTARTS   AGE
minio-minio-operator-578f6c9c44-fpsn6       1/1     Running   0          22m
minio-vsphere-75bfb45cd7-l2gdx              2/2     Running   0          22m
minio-vsphere-75bfb45cd7-rhqzb              2/2     Running   0          22m
minio-vsphere-75bfb45cd7-zr9fq              2/2     Running   0          22m
minio-vsphere-controller-597c7db9c4-hd9jm   1/1     Running   0          22m
$

또한 배포는 vSphere 클라이언트에 MinIO 플러그인을 설치하고 Cluster > Manage > MinIO 아래에 몇 가지 새 항목을 제공합니다. 여기서는 테넌트를 사용하도록 설정하는 다음 단계로 진행하고 해당 테넌트 S3 개체 저장소를 슈퍼바이저 클러스터 내의 다른 네임스페이스에 할당할 수 있습니다. 이 네임스페이스는 개발자 또는 개발자 팀에 할당될 수 있으며 S3 오브젝트 스토어를 단독으로 사용할 수 있습니다. 다음은 Minio > General 보기입니다.

MinIO 테넌트 생성

MinIO Tenant 생성을 진행하겠습니다. 절차는 아주 간단하다. 간단한 작업을 위해 이미 mini-ns라는 새로운 수퍼바이저 클러스터 네임스페이스를 만들었습니다. 이 네임스페이스에서 기본 vSAN 스토리지 정책인 단일 스토리지 정책을 추가했습니다(vSphere with Tanzu 구성에 대해 자세히 알아보려면 해당 항목을 다루는 이 이전 블로그 게시물을 확인하십시오). 여기가 제가 테넌트 S3 오브젝트 스토어를 배치하는 곳입니다. 첫 번째 단계는 Cluster > Manager > Minio > Tenant로 이동하는 것입니다. 여기서 ADD 버튼을 클릭하여 새 테넌트를 생성합니다.

앞서 언급한 것처럼 네임스페이스를 생성한 적이 있으므로 이름 및 원하는 스토리지 클래스와 함께 여기에 추가합니다. 원하는 이름을 추가할 수 있습니다. 그러나 네임스페이스는 존재해야 하며 마법사는 기존 네임스페이스만 허용합니다. 스토리지 클래스는 네임스페이스와 연결된 스토리지 클래스 목록이 됩니다. 이 시점에서는 vSAN Direct와 같은 다른 옵션을 사용할 수 있지만 이 옵션은 다른 게시물입니다. 당분간은 일을 간단하게 해 봅시다.

이 프로세스의 다음 단계는 테넌트의 크기를 조정하는 것입니다. 기본값을 선택했지만, 다음 몇 개의 스크린샷에서 볼 수 있듯이 다음과 같은 여러 가지 구성 가능한 매개 변수가 있습니다.

저는 MinIO가 Erase Coding을 어떻게 하는지 자세히 알지는 못하겠지만, MINIO에 대한 이전 게시글에서 이에 대해 좀 더 알고 싶어하시는 분들을 위해 다루었습니다.

싸이징을 완료했으면 구성을 미리 보고 Create:를 클릭합니다.

마법사의 마지막 단계는 MinIOS3 개체 스토리지와 MinIO 관리 콘솔에 대한 액세스 자격 증명을 제공하는 것입니다. 이것들을 안전한 곳에 보관하세요.

이전에 지정한 네임스페이스(이 예에서는 mini-ns)에서 다른 PodVM 집합이 실행됩니다.

또한 MinIO Operator와 마찬가지로 CLI에서 PodVM을 검사할 수 있습니다.

$ kubectl-vsphere login --vsphere-username administrator@vsphere.local \
--server=https://20.0.0.1 \
--insecure-skip-tls-verify

Password: ********
Logged in successfully.

You have access to the following contexts:
   20.0.0.1
   cormac-ns
   minio-domain-c8
   minio-ns


If the context you wish to use is not in this list, you may need to try
logging in again later, or contact your cluster administrator.

To change context, use `kubectl config use-context <workload name>`

$ kubectl config use-context minio-ns
Switched to context "minio-ns".

$ kubectl get pods
NAME                                    READY   STATUS    RESTARTS   AGE
minio-tenant-console-84474ddfbd-pkh7d   1/1     Running   0          42m
minio-tenant-zone-0-0                   1/1     Running   0          42m
minio-tenant-zone-0-1                   1/1     Running   0          42m
minio-tenant-zone-0-2                   1/1     Running   0          42m
minio-tenant-zone-0-3                   1/1     Running   0          42m

그리고 곧 모든 스토리지 구성이 완료되면 MinIO 테넌트가 구성되고 결국 온라인에 표시됩니다.

자세한 보기를 보려면 테넌트 이름을 선택하고 DETAILS 링크를 클릭하십시오. 아래 정보에서 콘솔 끝점을 여전히 사용할 수 없고 아직 구성되지 않은 볼륨이 있음을 확인할 수 있습니다(64개 중 57개만 구성됨). 또한 테넌트 사용량을 아직 사용할 수 없음을 알 수 있습니다.

그러나 시간이 조금 더 지나면 테넌트가 완전히 온라인 상태로 나타납니다. 64개의 볼륨이 온라인 상태이고, 4개의 노드/서버 인스턴스가 온라인 상태이며, 16TB의 스토리지를 사용할 수 있으며, MinIO Endpoint와 콘솔 Endpoint가 모두 채워집니다.

기능 확인

보시는 것처럼 MinIO 테넌트는 콘솔과 S3 개체 저장소에 대한 링크를 제공합니다. 이러한 인스턴스는 해당 네임스페이스의 해당 테넌트에 대한 고유한 MinIO 인스턴스입니다. 액세스 자격 증명이 있으면 두 가지 모두에 액세스할 수 있습니다. vSphere 관리자는 직접 콘솔 권한을 유지하되 개발자 또는 개발자 팀에게 개체 저장소에 대한 액세스 권한만 제공할 수 있습니다. 어느 쪽이든, 자격증이 있는 사람은 누구나 접근할 수 있습니다.

다음은 개체 저장소에 액세스할 수 있는 세 가지 방법입니다. 첫 번째는 MinIO Browser를 통한 것입니다. 보시다시피, 저는 이미 브라우저를 통해 my first-bucket이라는 버킷을 생성했습니다. 원하는 경우 이 MinIO 브라우저 인터페이스를 사용하여 버킷에 파일을 업로드할 수 있습니다.

이 두 번째 방법은 콘솔을 통해 수행됩니다. 보시는 바와 같이, 이 보기에는 내 테넌트가 생성한 버킷의 보기도 있습니다. 이 콘솔을 통해 S3 개체 저장소를 관리하고 모니터링할 수 있습니다.

마지막으로, 액세스 자격 증명을 제공하기만 하면 타사 S3 클라이언트를 통해 버킷에 액세스할 수 있습니다. 이것은 예전에 NetSDK Software에서 사용했던 S3 브라우저입니다. 저한테는 잘 맞는 것 같지만, 이건 지지서가 아니에요. 귀하에게 적합한 S3 클라이언트가 무엇인지에 대해 독자적으로 조사하십시오. 어쨌든, 보시다시피 이 클라이언트는 내 버킷에 액세스할 수도 있고 파일 업로드 기능도 가지고 있습니다.

이를 통해 네임스페이스 단위로 vSAN DPp를 사용하여 Tanzu / VCF와 함께 다양한 vSphere에 여러 개의 MinIOS3 개체 저장소를 신속하게 구축할 수 있는 방법을 잘 알 수 있기를 바랍니다. 이를 통해 개발자(또는 개발자 팀)는 필요할 경우 사내 S3 객체 저장소에 쉽게 액세스할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like
Read More

vSAN Objects and Components Revisited

대부분의 vSAN 고객은 “개체(Object)” 및 “구성 요소(component)”라는 용어에 익숙하지만, 신규 사용자와 경험이 풍부한 사용자 모두가 이러한 용어가 무엇인지,…
Read More

vSAN Witness Host의 이해

vSAN 메뉴얼이 한글화되지 않아서, witness에 대한 한글 표기가 명확하지 않습니다. 영어사전에는 "목격자, 증인, 증명" 등의 뜻으로 나오고, 파파고…