MinIO Operator brings native support for MinIO, Graphical Console, and Encryption to Kubernetes. This document explains how to get started with MinIO Operator using kubectl minio
plugin.
- Kubernetes >= v1.17.0.
- Create PVs.
- Install
kubectl minio
plugin usingkubectl krew install minio
.
MinIO Operator offers MinIO Tenant creation, management, upgrade, pool addition and more. Operator is meant to control and manage multiple MinIO Tenants.
To get started, initialize the MinIO Operator deployment. This is a one time process.
kubectl minio init
Once the MinIO Operator is created, proceed with Tenant creation.
A Tenant is a MinIO cluster created and managed by the Operator. Before creating tenant, please ensure you have requisite nodes and drives in place and relevant PVs are created.
In below example, we ask MinIO Operator to create a Tenant yaml with 4 nodes, 16 volumes, and 16 Ti total raw capacity (4 volumes of 1 Ti per node). This means you need to have 4 PVs of 1Ti each per node, with a total of 4 nodes, before attempting to create the MinIO tenant.
Since MinIO has built-in erasure-code support for high-availability and data protection, we recommend the following CSI drivers for high-performance and scalability:
kubectl minio tenant create --name tenant1 --servers 4 --volumes 16 --capacity 16Ti
Optionally, you can generate a yaml file with the -o
flag in above command and modify the yaml file as per your specific requirements. Once you verify and optionally add any other relevant fields to the file, create the tenant
kubectl minio tenant create --name tenant1 --servers 4 --volumes 16 --capacity 16Ti -o > tenant.yaml
kubectl apply -f tenant.yaml
You can add capacity to the tenant using kubectl minio
plugin, like this
kubectl minio tenant expand --name tenant1 --servers 8 --volumes 32 --capacity 32Ti
This will add 32 drives spread uniformly over 8 servers to the tenant tenant1
, with additional capacity of 32Ti. Read more about tenant expansion here.
Use of MinIO Operator is governed by the GNU AGPLv3 or later, found in the LICENSE file.