본문 바로가기
카테고리 없음

MinIO Object Storage 관리 - 초기 접속 구성 & Bucket 생성

by 쿡노트 2023. 6. 27.
반응형

MinIO는 오픈소스이며, S3 호환 Objcet Storage이다. MinIO를 사용한 목적은 Airflow(워크플로 관리 플랫폼) log를 MinIO에 저장하기 위함인데, 초기 구성에 대해 작성하고 다음 포스팅 때 Airflow log를 MinIO에 저장할 수 있도록 해본다.

MinIO Web Console (UI)

MinIO Web Console UI에서는 간단하게 Buckets(저장소 리스트)에서 Bucket(airflow-logs)를 만들고, 파일 저장 가능하다. 단, Objcect Storage이기 때문에 파일을 Web에서 직접 열어 볼 수는 없고, 파일 다운로드, 업로드가 가능하다.

MinIO Client (MC)를 통해, 초기 MinIO 접속 구성과 bucket(최상위 디렉터리 개념) 및 User 생성에 대해 알아본다.

MinIO 설치한 리눅스 서버에서 MC를 설치했다. (설치라고는 하지만 'MC' 다운로드 후 실행 권한 부여, 환경 설정 등이다.)

 

MC 설치 가이드 (공식 문서) MC 다운로드 URL은 아래 공식 문서에서 참조 가능하며, MC 명령어도 참고 가능하다.

https://min.io/docs/minio/linux/reference/minio-mc.html

 

MinIO Client — MinIO Object Storage for Linux

The following commands add a temporary extension to your system PATH for running the mc utility. Defer to your operating system instructions for making permanent modifications to your system PATH. Alternatively, execute mc by navigating to the parent folde

min.io

MC 설치

--mc download (minio-user는 미리 생성했다.)
# su - minio-user
$ curl https://dl.min.io/client/mc/release/linux-amd64/mc \
  --create-dirs \
  -o $HOME/minio-binaries/mc
--mc client Path 설정
$ cd $HOME
$ vi .bash_profile

 

MC_HOME=$HOME/minio-binaries/
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$MC_HOME

export PATH


$ . .bash_profile
--mc 실행 권한 부여
$ chmod +x $HOME/minio-binaries/mc
$ mc --version

mc version RELEASE.2023-01-28T20-29-38Z (commit-id=2e95a70c98fb9c2629cd89817b8759bfa109a4d0)
Runtime: go1.19.4 linux/amd64
Copyright (c) 2015-2023 MinIO, Inc.
License GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>

MC 접속 구성

--mc alias 설정(minio 서버에 접속하기 위한 용도)

$ mc alias set ALIAS HOSTNAME ACCESS_KEY SECRET_KEY

ex) $ mc alias set minio1 http://test001:9000 minioadmin 'tests!234'

--alias 조회

$ mc config host list

--접속 테스트(minio1 alias 접속)

$ mc admin info minio1

or $ mc admin --json info minio1

Bucket 생성

--airflow log를 담을 bucket 생성 (minio1은 MinIO를 접속하기 위한 Alias이다.)

$ mc mb alias/bucket

ex) $ mc mb minio1/airflow-logs

--bucket 목록 확인

$ mc ls minio1

$ mc tree minio1

계정관리

--계정 추가 (관리자 외에 airflow에서 접근 가능하도록 계정을 생성한다.)

--참고로 계정 비밀번호 (SECRET_KEY)는 조회 방법을 제공하지 않으므로 기록을 잘 해두어야 한다.

$ mc admin user add MINIO_NAME ACCESS_KEY(ID) SECRET_KEY(PASSWORD)

ex) $ mc admin user add minio1 test test1234

--계정 목록 조회

$ mc admin user list --json minio1

권한 관리

--MinIO 전체 권한 목록 확인

$ mc admin policy list minio1

--test 사용자에 권한 추가

$ mc admin policy set MINIO_NAME diagnostics,readwrite user=ACCESS_KEY

ex ) $ mc admin policy set minio1 diagnostics,readwrite user=test

--test 사용자 정보 조회

$ mc admin user info minio1 test

test 사용자의 diagnostics,readwrite 권한 조회 결과

MinIO Web Console (UI)에서 'test' 사용자로 접속이 가능하며, airflow-logs bucket이 확인된다.

Airflow 로그를 MinIO에 저장하기 위한 사전 준비는 마쳤다.

 

MC Client 명령어는 친절하게 정리해 준 아래 사이트를 참고했다. 

https://www.bearpooh.com/132

 

mc (minio client)로 MinIO 사용하기

mc (minio client)의 사용법을 정리한다. 파일 이동, 계정 관리, 정책 등 MinIO 서버와 관련된 다양한 설정을 위해 MinIO 클라이언트를 사용한다. 사용자가 minio client를 사용하는 방법은 다음 문서를 참고

www.bearpooh.com

반응형