Private Cloud Storage

Minio is a high performance distributed object storage server, designed for
large-scale private cloud infrastructure. Minio is widely deployed across the
world with over docker pulls.

Learn More

Build exascale object storage with
Minio and Kubernetes

Generate yaml
Deploy Minio
kubectl create -f minio-deployment.yaml
helm install stable/minio
helm install --set mode=distributed,replicas=4 stable/minio
  • Turn Kubernetes PVs into S3 compatible store with Minio

    Modern applications access data through REST API. Minio aggregates PVs into scalable distributed object storage, with Amazon S3 REST API.

  • No Storage Downtime

    Minio provides data protection and high availability, within a tenant, and withstands half the number of node failures. Kubernetes provides high availability across tenants and racks. Perform rolling upgrades in batches, with no downtime.

  • Manage multi-tenant Minio deployments

    Kubernetes makes it easy to deploy and manage multiple Minio tenants. Each tenant may run a different Minio version and upgrade at its own pace. Kubernetes handles resource management and scheduling among the tenants.

  • Leverage Minio features natively with Kubernetes

    Manage Minio configuration and credentials, using Kubernetes ConfigMaps and Secrets, when deployed via Helm Chart. In addition, you may use Kubernetes auto-scaling for Minio lambda function.

Minio with Kubernetes

Exascale Minio Object Storage with Kubernetes

Minio uses Persistent volume to store data. At the time of deployment, Minio server makes a claim (PVC) for disk space and memory. Kubernetes fulfills the claim by mapping it to a matching Persistent Volume (PV). Even if a Minio container goes down, Kubernetes makes sure the PV mapped to it, follows to the new node where replacement Minio container is getting deployed.

To scale, simply spin up new Minio instance to cater to the new tenant. With Kubernetes, launching a new Minio instance is as easy as helm install stable/minio.

Minio can be accessed from within the Kubernetes cluster or from outside the cluster. Kubernetes services allow private or public access to Minio deployment, via clusterIP and externalIP. When deployed as a helm package, external IP is automatically provisioned. Use kubectl get svc to find the IP address information.