operator

command module
v0.3.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2020 License: AGPL-3.0 Imports: 15 Imported by: 0

README

MinIO Operator Docker Pulls

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.

Prerequisites

Operator Setup

MinIO Operator offers MinIO Tenant creation, management, upgrade, zone addition and more. Operator is meant to control and manage multiple MinIO Tenants.

To get started, create the MinIO Operator deployment. This is a one time process.

kubectl minio operator create

Once the MinIO Operator is created, proceed with Tenant creation.

Tenant Setup

A Tenant is a MinIO cluster created and managed by the Operator.

Step 1: Create Tenant Namespace

Before creating a Tenant, please create the namespace where this Tenant will reside.

For logical isolation, Operator allows a single Tenant per Kubernetes Namespace.

kubectl create ns tenant1-ns
Step 2: Create Secret for Tenant Credentials

Next, create the Kubernetes secret that encapsulates root credentials for MinIO Tenant. Please ensure to create secret object with literals accesskey and secretkey.

Remember to change YOUR-ACCESS-KEY and YOUR-SECRET-KEY to actual values.

kubectl create secret generic tenant1-secret --from-literal=accesskey=YOUR-ACCESS-KEY --from-literal=secretkey=YOUR-SECRET-KEY --namespace tenant1-ns

Note that the access key and secret key provided here is authorized to perform all operations on the Tenant.

Step 3: Create MinIO Tenant

We can create the Tenant now. Before that, 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 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 PVCs of 1 Ti each, per node, and total of 4 nodes, before attempting to create the MinIO Tenant.

We recommend direct CSI driver to create PVs.

kubectl minio tenant create --name tenant1 --secret tenant1-secret --servers 4 --volumes 16 --capacity 16Ti --namespace tenant1-ns --storage-class direct.csi.min.io

Post Tenant Creation

Expanding a Tenant

You can add capacity to the tenant using kubectl minio plugin, like this

kubectl minio tenant volume add --name tenant1 --servers 8 --volumes 32 --capacity 32Ti --namespace tenant1-ns

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.

License

Use of MinIO Operator is governed by the GNU AGPLv3 or later, found in the LICENSE file.

Explore Further

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
logsearchapi module
pkg
apis/minio.min.io/v1
Package v1 is the v1beta1 version of the API.
Package v1 is the v1beta1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/minio.min.io/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/minio.min.io/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
sidecar module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL