MinIO Operator on OpenShift may require manual configuration of TLS cert management via the OpenShift `service-ca` Operator. (For deployments that are _not_ done through Red Hat OperatorHub.) Document the needed envvars, `volumes`, and `volumeMounts` to enable `service-ca` and avoid the need to manually renew certs. ~Note: This presumes kustomize, additional research/testing required to determine configuration for Helm chart deployments.~ Staged http://192.241.195.202:9000/staging/DOCS-991/openshift/operations/installation.html#procedure See also: https://github.com/minio/wiki/wiki/Besides-MINIO_OPERATOR_RUNTIME-what-else-is-needed-in-Operator%3F Fixes https://github.com/minio/docs/issues/991 (remaining item for v5.0.8) --------- Co-authored-by: Ravind Kumar <ravind@min.io>
5.5 KiB
- orphan
MinIO Kubernetes Plugin
minio
Table of Contents
Overview
Current Stable Version is
This reference documentation reflects 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 <operator>
.
kubectl minio
Installation
The MinIO Kubernetes Plugin requires Kubernetes 1.19.0 or later.
The following code downloads the latest stable version of the MinIO
Kubernetes Plugin and installs it to the system $PATH
.
krew
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
shell
wget https://github.com/minio/operator/releases/download/v|operator-version-stable|/kubectl-minio_|operator-version-stable|_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:
~kubectl minio init
~kubectl minio proxy
~kubectl minio tenant
~kubectl minio delete
~kubectl minio version
Environment Variables
The MinIO Operator <minio-operator-installation>
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
or v1beta1
.
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
, or
OpenShift
. Leave blank if none of the options apply.
When set as EKS
, the MINIO_OPERATOR_CSR_SIGNER_NAME
must be
beta.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
.
OPERATOR_STS_ENABLED
Toggle STS Service on
or off
.
When not specified, the default value is off
.
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
or off
.
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.
/reference/kubectl-minio-plugin/kubectl-minio-init /reference/kubectl-minio-plugin/kubectl-minio-proxy /reference/kubectl-minio-plugin/kubectl-minio-tenant /reference/kubectl-minio-plugin/kubectl-minio-delete /reference/kubectl-minio-plugin/kubectl-minio-version