Deploy MinIO on Kubernetes
MinIO is a high performance distributed object storage server, designed for large-scale private cloud infrastructure. MinIO is designed in a cloud-native manner to scale sustainably in multi-tenant environments. Orchestration platforms like Kubernetes provide perfect cloud-native environment to deploy and scale MinIO.
MinIO Deployment on Kubernetes
There are multiple options to deploy MinIO on Kubernetes:
MinIO-Operator: Operator offers seamless way to create and update highly available distributed MinIO clusters. Refer MinIO Operator documentation for more details.
Helm Chart: MinIO Helm Chart offers customizable and easy MinIO deployment with a single command. Refer MinIO Helm Chart documentation for more details.
YAML File: MinIO can be deployed with
kubectl. Refer to the MinIO
YAMLfile documentation for more details.
Monitoring MinIO in Kubernetes
MinIO server exposes un-authenticated readiness and liveness endpoints so Kubernetes can natively identify unhealthy MinIO containers. MinIO also exposes Prometheus compatible data on a different endpoint to enable Prometheus users to natively monitor their MinIO deployments.
Note : Readiness check is not allowed in distributed MinIO deployment. This is because Kubernetes doesn't allow any traffic to containers whose Readiness checks fail, and in a distributed setup, MinIO server can't respond to Readiness checks until all the nodes are reachable. So, Liveness checks are recommended native Kubernetes monitoring approach for distributed MinIO StatefulSets. Read more about Kubernetes recommendations for container probes.