minio/docs/orchestration/minikube
Nitish Tiwari 08e0698b7e
Update docs to latest Minio server release (#5227)
2017-11-23 10:19:53 +05:30
..
README.md docs: Add Minikube deployment to k8s docs (#4133) 2017-04-24 09:20:51 -07:00
minio_distributed.sh docs: Add Minikube deployment to k8s docs (#4133) 2017-04-24 09:20:51 -07:00
statefulset.yaml Update docs to latest Minio server release (#5227) 2017-11-23 10:19:53 +05:30

README.md

Deploy distributed Minio locally with minikube Slack Go Report Card Docker Pulls codecov

Minikube runs a single-node Kubernetes cluster inside a VM on your computer. This makes it easy to deploy distributed Minio server on Kubernetes running locally on your computer.

1. Prerequisites

Minikube and kubectl installed on your system.

2. Steps

  • Download minio_distributed.sh and statefulset.yaml
wget https://raw.githubusercontent.com/minio/minio/master/docs/orchestration/minikube/minio_distributed.sh  
wget https://raw.githubusercontent.com/minio/minio/master/docs/orchestration/minikube/statefulset.yaml
  • Execute the minio_distributed.sh script in command prompt.
./minio_distributed.sh

After the script is executed successfully, you should get an output like this

service "minio-public" created
service "minio" created
statefulset "minio" created

This means Minio is deployed on your local Minikube installation.

Note that the service minio-public is a clusterIP service. It exposes the service on a cluster-internal IP. To connect to your Minio instances via kubectl port-forward command, execute

kubectl port-forward minio-0 9000:9000

Minio server can now be accessed at http://localhost:9000, with accessKey and secretKey as mentioned in the statefulset.yaml file.

3. Notes

Minikube currently does not support dynamic provisioning, so we manually create PersistentVolumes(PV) and PersistentVolumeClaims(PVC). Once the PVs and PVCs are created, we call the statefulset.yaml configuration file to create the distributed Minio setup.

This setup runs on a laptop/computer. Hence only one disk is used as the backend for all the minio instance PVs. Minio sees these PVs as separate disks and reports the available storage incorrectly.