CloudStorage에 해당하는 글 1

  1. [k8s] MINIO2020.02.21

[k8s] MINIO

Server/k8s|2020. 2. 21. 19:40

Argo 그리고 KubeFlow를 살펴보며

 

Argo의 경우에는 Step Step 마다 넘겨주는 artifact

그리고 KubeFlow는 pipeline에 넘기는 파일들을 어디서 저장하고 어떻게 넘겨주나 살펴봤더니

 

Artifact 서버 설정 파트가 있고, Argifact 서버 설정으로는 Cloud Storage 혹은 MINIO(Object Storage)를 설정하도록 되어있었습니다

(https://argoproj.github.io/docs/argo/docs/configure-artifact-repository.html)

(https://www.kubeflow.org/docs/pipelines/overview/pipelines-overview/)

 

Cloud 업체들이 지원하는건 일단 상용 서비스들일테니 우선 고려대상은 아니고

오픈소스인 MINIO를 잠시 살펴보았습니다.

 

MINIO, 어디서는 MINIO어디서는 Minio라고 적혀있고 어디서는 MinIO로 적혀있고

처음 봤을때 "민 아이오" 가 맞나? "미니오"가 맞나? 애매 했는데

MINIO 채널 유튜브를 보니 강의자 분이 "민 아이오"로 읽으시는걸 보며 "민 아이오"로 읽는게 맞는것 같습니다.

로고는 MINIO, 공식 홈페이지 타이틀은 MinIO...

(https://min.io/)

(https://github.com/minio/minio)

 

MINIO는 Object Storage며, Cloud Storage로 적합하다고 합니다

(AWS S3가 ObjectStorage의 표준이라고 볼수 있다고 하는데, S3와 호환을 지원한다고 합니다.)

 

공식 홈페이지에 따르면, 표준 하드웨어 환경기준 R/W 속도가 183GB/s , 171GB/s 라고 표기되어있습니다

(https://min.io/resources/docs/MinIO-Throughput-Benchmarks-on-NVMe-SSD-32-Node.pdf)

(https://min.io/resources)

(32노드, SSD 기준이네요)

(24노드 하드디스크 기준으로는 16GB/s, 9GB/s )

 

MINIO에는 "Bucket" 그리고 "Object" 라는게 존재합니다.

거의 파일의 "디렉토리" 그리고 "파일" 에 대응 된다고 보면 되는것 같습니다.

 

MINIO는 기본적인 Cli 커맨드로는 

파일 시스템처럼

ls(list 확인, bucket이나 object), cat(object의 내용 확인), cp(object 복사), rm(object 삭제) 등 익숙한 명령어를 지원하고

 

Bucket에 Event를 설정하여 변경을 감지 하는 부분도 물론 지원합니다.

(Webhook으로도 받을수 있지만 여러 큐 시스템이나, MySQL로도 이벤트를 받을 수 있습니다.)

데이터 조회도 SQL 로도 가능한것으로 보입니다.

 

MINIO 클라이언트는 자바, 자바스크립트, 파이썬, Go, .Net, Haskell 로 지원하고 있어 원하는 언어에 맞게 클라이언트 프로그램을 작성 할수 있도록 되어있습니다.

 

하드웨어 장애에도 데이터를 보호하기 위해 Erasure Code 라거나, 분산 처리 환경을 위해 여러 방식들을 지원하고 있는데 각 내용들은 필요해지면 추가적으로 살펴볼 예정입니다.

 

'Server > k8s' 카테고리의 다른 글

[k8s] Argo 설치 후 살펴본 기능들  (0) 2020.03.11
[k8s] Argo  (0) 2020.02.20

댓글()