Data Storage

What is MinIO, and How to Deploy It in an Enterprise Data Stack?

Last updated on
May 12, 2026

What is MinIO?

MinIO is a seriously performant object store designed for those handling the demands of AI/ML workloads, data lakes, and large databases. The S3 compatibility makes it a familiar fit, and the software-defined nature means it plays nice in any cloud or on-premises setup. It's surprisingly easy to set up, and the open-source version adds flexibility for initial testing and POCs while the Enterprise version provides hardening, security, and stability for pre-production and production environments. MinIO boasts impressive speed benchmarks, and the native Kubernetes integration streamlines deployment within those environments. If you're looking for a powerful, adaptable object storage solution, particularly for AI-driven work, MinIO is definitely worth exploring.

Watch MinIO in action

No items found.

Why is MinIO better on Shakudo?

Deployment Runbook

<aside>📌 Command-first runbook for customer deployment calls. Replace placeholders before running. For production environments, run changes through the customer-approved change process.

</aside>

Step 1 — Confirm cluster access

Run:

export KUBECONFIG=/path/to/customer-kubeconfig
export KUBE_CONTEXT=<customer-context>

kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" config current-context
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get nodes
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get namespace hyperplane-minio || kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" create namespace hyperplane-minio

Step 2 — Clone the Shakudo chart

Run:

git clone --depth=1 --branch <release-branch> <https://github.com/devsentient/monorepo.git> /tmp/monorepo
cd /tmp/monorepo/stack-components/minio/helm
helm dependency update .

Step 3 — Create required secrets

Run:

kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" create secret generic minio-root-credentials -n hyperplane-minio --from-literal=rootUser='<access-key>' --from-literal=rootPassword='<secret-key>'

Step 4 — Prepare values.yaml

Run:

cat > /tmp/minio-values.yaml <<'EOF_VALUES'
minio:
 mode: standalone
 replicas: 1
 persistence:
   enabled: true
   size: 100Gi
 existingSecret: minio-root-credentials
 resources:
   requests:
     cpu: 500m
     memory: 1Gi
   limits:
     cpu: 2
     memory: 4Gi
 buckets:
   - name: customer-data
     policy: none
   - name: application-artifacts
     policy: none
consoleIngress:
 enabled: true
 host: minio-console.<customer-domain>
EOF_VALUES

Step 5 — Deploy or upgrade

Run:

helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" upgrade --install minio /tmp/monorepo/stack-components/minio/helm \\
 --namespace hyperplane-minio \\
 --create-namespace \\
 --values /tmp/minio-values.yaml \\
 --timeout 15m \\
 --wait

Step 6 — Validate Kubernetes resources

Run:

helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" status minio -n hyperplane-minio
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get pods,svc,pvc,ingress,virtualservice -n hyperplane-minio
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get events -n hyperplane-minio --sort-by=.lastTimestamp | tail -n 60
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" logs -n hyperplane-minio -l app.kubernetes.io/instance=minio --tail=100

Step 7 — Smoke test the service

Run:

kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" port-forward -n hyperplane-minio svc/minio 9000:9000

# In another terminal:
curl <http://localhost:9000/minio/health/live>

Rollback

Run:

helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" history minio -n hyperplane-minio
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" rollback minio <REVISION> -n hyperplane-minio
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" rollout status deployment/minio -n hyperplane-minio || true

Why is better on Shakudo?

Core Shakudo Features

Own Your AI

Keep data sovereign, protect IP, and avoid vendor lock-in with infra-agnostic deployments.

Faster Time-to-Value

Pre-built templates and automated DevOps accelerate time-to-value.
integrate

Flexible with Experts

Operating system and dedicated support ensure seamless adoption of the latest and greatest tools.
See Shakudo in Action
Neal Gilmore
Get Started >