Introduction to MinIO - High Performance Object Storage

A comprehensive guide to MinIO installation and usage

Featured image



Overview

MinIO is a high-performance distributed object storage system designed for scalability, security, and easy deployment.

Let’s explore its features and implementation.

What is MinIO?

MinIO is a high-performance distributed object storage system designed for scalability, security, and easy deployment.
It's commonly used for storing unstructured data like photos, videos, log files, backups, and container images.
Compatible with Amazon S3 cloud storage service, it's popular among enterprises and developers looking for an S3-compatible storage solution that can run on-premises or in private cloud environments.

Key Features

Scalability

High Availability and Durability

Performance

S3 Compatibility

Security

Multi-tenancy

Deployment


Installation

Add MinIO Helm repository:

helm repo add minio https://charts.min.io/

helm repo list
NAME    URL                   
minio   https://charts.min.io/

Standard Installation

helm install my-minio minio/minio \
  --namespace minio \
  --create-namespace \
  --set accessKey=rootuser,secretKey=rootpass123

Toy Setup

helm install --set resources.requests.memory=512Mi \
  --set replicas=1 \
  --set persistence.enabled=false \
  --set mode=standalone \
  --set rootUser=rootuser,rootPassword=rootpass123 \
  --generate-name minio/minio \
  --namespace minio \
  --create-namespace

Verify Installation

k get po,svc,deploy -n minio

Configure Service Access

# Change console service to NodePort
kubectl patch svc minio-1724308499-console -n minio \
  --type='json' \
  -p='[{"op": "replace", "path": "/spec/type", "value": "NodePort"}]'

# Change API service to NodePort
kubectl patch svc minio-1724308499 -n minio \
  --type='json' \
  -p='[{"op": "replace", "path": "/spec/type", "value": "NodePort"}]'


Using MinIO Client (mc)

Installation

# For MacOS
brew install minio/stable/mc

Configure Client

mc alias set myminio http://10.0.71.51:31067 rootuser rootpass123

Basic Operations

# Create bucket
mc mb myminio/somaz-bucket

# List buckets
mc ls myminio

# Upload file
mc cp test.txt myminio/somaz-bucket

# Download file
mc cp myminio/somaz-bucket/test.txt .

MinIO Console Interface

MinIO Console Interface

MinIO Console login

MinIO Console login



References