Deploying MinIO® on RKS

01 May 2022

Prerequisites

  • An account on the Ridge cloud
  • Kubectl, the command line tool for Kubernetes
  • Krew,  the plugin manager for kubectl command-line tool

Creating a Kubernetes Cluster

For a step-by-step guide, visit our guide on how to create a Kubernetes cluster.

Once you are successful, continue here:

Now that our cluster is ready and we have downloaded the kubeconfig file, let’s verify that our cluster is up and running. To verify that you have a running master and worker node,  list the nodes by executing:

If everything works, you should something similar to this:

Now we are ready to deploy MinIO.

Installing the MinIO® Operator

We will be using krew to install MinIOplugin:

The output will look like this:

Verify that the installation by running this command :

Kubectl has been extended. All MinIO commands have the minIO prefix/. Initialize the operator:

The output will look like this:

All the resources of the operator are created in the minIO operator namespaces:

 

Accessing the Operator Console

The operator console service is not exposed to the Internet. We will use a minIO command to achieve port forwarding to it:

The output will look like this:

Use your browser to access http://localhost:9090. Use the JWT token that appeared in the output to login.

 

Create a  MinIO Tenant

Each tenant has a separate object store with dedicated resources. To create a tenant, start out by creating a separate namespace for that tenant. In this example we use ‘tenant-1’.

From the operator console, click the ‘Create Tenant’.

Set the following parameters:

  • Name : tenant-1
  • NameSpace: tenant-1
  • Storage Class: default
  • Number of servers: 4. This matches the number of worker nodes in the cluster
  • Disks per Server: 1
  • Total Size: 40 Gi

This tenant will have four servers. Each server will have a disk of 10Gi for object storage.

Press create. An access key ID and secret will appear. Save them, These credentials will be used to access the object storage (using S3 API or tenant console).

Verify the status of the tenant.