MinIO라는 도구를 처음으로 사용했습니다.
다양한 CSP사와 호환이 되고, 특히 AWS의 S3 호환이 아주 잘 된다고 합니다. 느낌이 오지 않아서, 직접 써봐야 알 수 있겠다고 생각했습니다.
총 세가지 환경을 두고 설치해보고 간단히 스토리지에 파일 업로드와 다운로드를 수행했습니다.
Windows 환경 설치
MinIO Object Storage for Windows — MinIO Object Storage for Windows
공식 문서를 참고합니다.
먼저, 윈도우는 CMD 혹은 PowerShell 환경을 지원합니다. 저는 간단히 CMD를 사용했습니다.
1. 웹에서, 제시된 URL을 넣고 엔터를 누릅니다. 이 방법이 가장 간단합니다.
2. CLI 방식을 선호한다면, CMD 에서 curl -o 명령어로 내려받습니다.
curl -o https://dl.min.io/server/minio/release/windows-amd64/minio.exe
저는 C 드라이브에 저장했고, dir 명령어로 내부에 잘 다운로드 받은 것을 확인했습니다.
설치된 경로로 이동해서, 아래 명령어로 minio server를 킵니다.
.\minio.exe server C:\minio --console-address :9001
그냥 이렇게 명령어를 수행하면, default 관리자 아이디, 비밀번호가 설정되므로, 안전을 위해 비밀번호를 설정해두는 게 좋습니다.
Windows CMD 명령어는 set 이라는 것을 활용합니다. export가 아닙니다.
set MINIO_ROOT_USER=아이디
set MINIO_ROOT_PASSWORD=비밀번호
위에 기재된 WebUI에 있는 주소로 들어갑니다. 해당 주소는 각 개인 PC마다 거의 동일하게 설정됩니다.
Linux 환경 설치
리눅스는 더욱 간단합니다. 역시 공식 문서를 적극 참조하였습니다.
MinIO Object Storage for Linux — MinIO Object Storage for Linux
리눅스 서버 환경은, 네이버클라우드 서버(Rocky Linux 8.8)를 활용하였습니다.
1. minio 서버 설치하기
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240803043323.0.0-1.x86_64.rpm -O minio.rpm
sudo dnf install minio.rpm
2. minio server 실행하기
TCP 포트번호 9001을 ACG에서 Inbound rule로 열어줍니다.
주의할 점은, 제공된 WebUI의 주소로는 접속이 안됩니다. 공인아이피주소가 할당되어 있으니, 공인 아이피:9001 포트로 접속하면 바로 나옵니다.
접속할 아이디와 비밀번호는, 위 서버 시작시 제공되는 접속정보의 RootUser, RootPass에 있는 값에 해당합니다. 이 두가지 값을 Username, Password란에 기입하면 됩니다.
Object Storage와 유사하게, Buckets을 먼저 설정합니다.
Minio Client 설치 및 실행
이 상태에서, mc (Minio Client)를 설치해서 CLI로 조정할 수도 있습니다.
graph라는 이름으로 alias 설정을 해주고, 이걸로 여러가지 작업이 가능합니다.
먼저, 서버내에 test.txt 파일을 생성하고, 이것을 위에서 생성한 버킷으로 복사해보겠습니다.
vi test.txt
mc cp test.txt graph/graph-bucket/
여기서 graph는 위에서 설정한 graph라는 alias 이름입니다. 만약 이를 local이라고 하면, "local/버킷명/" 이렇게 바꾸면 됩니다.
MinIO 콘솔에서 업/다운로드
해당 버킷을 콘솔에서 업로드, 다운로드 기능이 잘 작동하는지 확인해보겠습니다.
위의 그림에서, 성공적으로 버킷에 test.txt라는 파일이 잘 업로드된 것을 확인했습니다.
다운로드도 해보겠습니다. 순서만 바꿔주면 됩니다.
mc cp graph/graph-bucket/test.txt ./
콘솔에서 업/다운로드도 가능합니다.
다운로드는 간단히 선택항목을 누르고, Download를 클릭하면 해당 파일을 로컬 PC에 받을 수 있습니다.
이제 쿠버네티스 환경에서도 배포해보고, minio는 AWS사의 s3라는 저장소와 호환이 잘 된다는데, 이 부분도 확인해보겠습니다. 다만 양이 좀 길어서 다음 회차에서 진행하겠습니다.
'Kubernetes' 카테고리의 다른 글
[MinIO] MinIO with NKS (1) | 2024.08.09 |
---|