Documentation

Documentation

Upgrade a MinIO Tenant

Table of Contents

Prerequisites

MinIO Kubernetes Operator and Plugin

This procedures on this page requires a valid installation of the MinIO Kubernetes Operator and assumes the local host has a matching installation of the MinIO Kubernetes Operator. This procedure assumes the latest stable Operator and Plugin version 4.5.2.

See Deploy the MinIO Operator for complete documentation on deploying the MinIO Operator.

You can install the MinIO plugin using either the Kubernetes Krew plugin manager or manually by downloading and installing the plugin binary to your local host:

Krew is a kubectl plugin manager developed by the Kubernetes SIG CLI group. See the krew installation documentation for specific instructions. You can use the Krew plugin for Linux, MacOS, and Windows operating systems.

You can use Krew to install the MinIO kubectl plugin using the following commands:

kubectl krew update
kubectl krew install minio

You can validate the installation of the MinIO plugin using the following command:

kubectl minio version

The output should match 4.5.2.

You can download the MinIO kubectl plugin to your local system path. The kubectl CLI automatically discovers and runs compatible plugins.

The following code downloads the latest stable version 4.5.2 of the MinIO Kubernetes plugin and installs it to the system path:

curl https://github.com/minio/operator/releases/download/4.5.2/kubectl-minio_4.5.2_linux_amd64 -o kubectl-minio
chmod +x kubectl-minio
mv kubectl-minio /usr/local/bin/

The mv command above may require sudo escalation depending on the permissions of the authenticated user.

Run the following command to verify installation of the plugin:

kubectl minio version

The output should display the Operator version as 4.5.2.

You can download the MinIO kubectl plugin to your local system path. The kubectl CLI automatically discovers and runs compatible plugins.

The following PowerShell command downloads the latest stable version 4.5.2 of the MinIO Kubernetes plugin and installs it to the system path:

Invoke-WebRequest -Uri "https://github.com/minio/operator/releases/download/v4.5.2/kubectl-minio_4.5.2_windows_amd64.exe" -OutFile "C:\kubectl-plugins\kubectl-minio.exe"

Ensure the path to the plugin folder is included in the Windows PATH.

Run the following command to verify installation of the plugin:

kubectl minio version

The output should display the Operator version as 4.5.2.

Procedure (CLI)

This procedure documents upgrading pods running on a MinIO Tenant.

1) Validate the Active MinIO Version

Use the kubectl minio tenant info command to return a summary of the MinIO Tenant, including the new Pool:

kubectl minio tenant info TENANT_NAME \
  --namespace TENANT_NAMESPACE
  • Replace TENANT_NAME with the name of the Tenant.

  • Replace TENANT_NAMESPACE with the namespace of the Tenant.

The output includes the version of the MinIO Server used by all Pods in the Tenant.

2) Upgrade the MinIO Tenant

Use the kubectl minio tenant upgrade command to upgrade the container image used by all MinIO Pods in the Tenant. MinIO upgrades all minio server processes at once. This may result in downtime until the upgrade process completes.

kubectl minio tenant upgrade TENANT_NAME                      \
        --image     minio:minio:RELEASE:YYYY-MM-DDTHH-MM-SSZ  \
        --namespace TENANT_NAMESPACE
  • Replace TENANT_NAME with the name of the Tenant.

  • Replace RELEASE:YYYY-MM-DDTHH-MM-SSZ with the specific release to use. Specify minio/minio to use the latest stable version of MinIO.

  • Replace TENANT_NAMESPACE with the namespace of the Tenant.

See MinIO’s DockerHub Repository for a list of available release tags.