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 5.0.5.
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
If you want to update the MinIO plugin with Krew, use the following command:
kubectl krew upgrade minio
You can validate the installation of the MinIO plugin using the following command:
kubectl minio version
The output should match 5.0.5.
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 5.0.5 of the MinIO Kubernetes plugin and installs it to the system path:
curl https://github.com/minio/operator/releases/download/v5.0.5/kubectl-minio_5.0.5_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 5.0.5.
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 5.0.5 of the MinIO Kubernetes plugin and installs it to the system path:
Invoke-WebRequest -Uri "https://github.com/minio/operator/releases/download/v5.0.5/kubectl-minio_5.0.5_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 5.0.5.
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. Specifyminio/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.