MinIO

문주은·2024년 1월 16일

MinIO는 Minimal Object Storage로 오픈소스로 제공되는 오브젝트 스토리지입니다.

1. Local MinIO

1-1. Minio 설치

$ wget https://dl.min.io/server/minio/release/linux-amd64/minio 
$ chmod +x minio

1-2. File-System 등록

  • systemd 등록하여 서버 활성화
  • minio.config
## minio.config 생성
$ sudo vi /etc/minio.config

## minio.config 내용
# Local export path
MINIO_VOLUMES="/data4/workspaces/jemoon/minio-storage"

# custom port
MINIO_OPTS="--address :8000"

# Access key, Secret key of the server
MINIO_ACCESS_KEY="dev"
MINIO_SECRET_KEY="dev!@#$%"
  • minio systemd 등록
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/data4/workspaces/jemoon/minio

[Service]
Type=notify
ExecStart=/usr/local/bin/minio server start --address=:8000 --console-address=:43921
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

1-3. minio 시작

# 기본 포트는 9000
./minio server start --address {ADDRESS}:{PORT} {path} 
./minio server start --address 0.0.0.0:8000 ./minio-storage/pose-estimation

./minio server start --address :8000 --console-address :43921
  • minio 서버에 접근하기 위한 AccessKey와 SecretKey 등록
# default
Access Key : minioadmin
Secret Key : minioadmin

# 변경하려면 환경 변수 지정
export MINIO_ROOT_USER='dev' 
export MINIO_ROOT_PASSWORD='dev!@#$%'

2. kubeflow MinIO

2-1. access key, secret key

# access key
$ kubectl get secret mlpipeline-minio-artifact -n kubeflow -o jsonpath="{.data.accesskey}" | base64 --decode

# secret key
$ kubectl get secret mlpipeline-minio-artifact -n kubeflow -o jsonpath="{.data.secretkey}" | base64 --decode

2-2. browser 접속

$ kubectl port-forward -n kubeflow svc/minio-service 9000:9000 --address 0.0.0.0

2-3. kubeflow MinIo console 실행

$ kubectl port-forward console-c9d46d558-2t7c4 -n minio-operator 9090:9090 --address 0.0.0.0

2-4. token 로그인

(base) user@GPU10:~$ kubectl -n minio-operator get secrets --field-selector=type=kubernetes.io/service-account-token
NAME                TYPE                                  DATA   AGE
console-sa-secret   kubernetes.io/service-account-token   3      9d
(base) user@GPU10:~$ kubectl -n minio-operator describe secret console-sa-secret
  • 토큰 값을 활용하여 로그인
profile
Data Engineer

1개의 댓글

comment-user-thumbnail
2024년 3월 12일

안녕하세요 잘봤습니다.
혹시 kubeflow에서 minio browser말고 minio console을 생성하기 위해서는 어떤 작업을 해야하나요?
manifest에 수정을 해야되는걸까요?

답글 달기