MinIO Kubernetes Plugin
Overview
Current Stable Version is 5.0.9
This reference documentation reflects 5.0.9 of the
MinIO Kubernetes Operator and kubectl minio
plugin.
The kubectl minio
plugin brings native support for deploying MinIO tenants to Kubernetes clusters using the kubectl
CLI.
Use kubectl minio
to deploy a MinIO tenant with little to no interaction with YAML
configuration files.
Installing kubectl minio
implies installing the
MinIO Kubernetes Operator.
Installation
The MinIO Kubernetes Plugin requires Kubernetes 1.19.0 or later.
The following code downloads the latest stable version 5.0.9 of the MinIO Kubernetes Plugin and installs it to the system $PATH
.
This procedure uses the Kubernetes krew plugin manager for installing the MinIO Kubernetes Operator and Plugin.
See the krew
installation documentation for specific instructions.
kubectl krew update
kubectl krew install minio
wget https://github.com/minio/operator/releases/download/v5.0.9/kubectl-minio_5.0.9_linux_amd64 -O kubectl-minio
chmod +x kubectl-minio
mv kubectl-minio /usr/local/bin/
You can access the plugin using the kubectl minio
command. Run
the following command to verify installation of the plugin:
kubectl minio version
Subcommands
kubectl minio
has the following subcommands:
Environment Variables
The MinIO Operator uses the following environment variables during startup to set configuration settings.
Configure these variables in the minio-operator
container.
Setting Environment Variables in Kubernetes
To set these environment variables, modify the operator container’s yaml at .spec.env
or use the following kubectl
command syntax:
kubectl set env -n minio-operator deployment/minio-operator <ENV_VARIABLE>=<value> ... <ENV_VARIABLE2>=<value2>
Replace:
minio-operator
with the namespace for your Operator, if not using the default value.deployment/minio-operator
with the deployment for your Operator, if not the default value. (This is not common.)<ENV_VARIABLE>
with the environment variable to set or modify.<value>
with the value to use for the environment variable.
You can set or modify multiple environment variables by separating each VARIABLE=value
pair with a space.
Available MinIO Operator Environment Variables
- MINIO_OPERATOR_CERTIFICATES_VERSION
Specifies the certificate API version to use.
Valid values are
v1
orv1beta1
.When not specified, the default is the API Kubernetes provides.
- MINIO_OPERATOR_RUNTIME
Specify the type of runtime to use.
Valid values are
EKS
,Rancher
, orOpenShift
. Leave blank if none of the options apply.When set as
EKS
, theMINIO_OPERATOR_CSR_SIGNER_NAME
must bebeta.eks.amazonaws.com/app-serving
.
- MINIO_OPERATOR_CSR_SIGNER_NAME
Override the default signer for certificate signing requests (CSRs).
When not specified, the default value is
kubernetes.io/kubelet-serving
.
- OPERATOR_CERT_PASSWD
Optional
The password Operator should use to decrypt the private key in the TLS certificate for Operator.
- MINIO_OPERATOR_DEPLOYMENT_NAME
Specifies the namespace to create and use for Operator.
When not specified, the default value is
minio-operator
.
- MINIO_CONSOLE_DEPLOYMENT_NAME
The name to use for the Operator Console.
When not specified, the default value is
operator
.
- MINIO_CONSOLE_TLS_ENABLE
Toggle Console TLS service
on
oroff
.When not specified, the default value is
off
.
- WATCHED_NAMESPACE
A comma-separated list of the namespace(s) Operator should watch for tenants.
When not specified, the default value is
""
to watch all namespaces.