1
0
mirror of https://github.com/minio/docs.git synced 2025-04-25 17:22:39 +03:00
docs/source/reference/kubectl-minio-plugin.rst
Andrea Longo 62e1447422
Document OpenShift service certificates for Operator deployments (#1002)
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>
2023-09-25 11:27:06 -04:00

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.

Kubernetes Orchestration with the MinIO Operator facilitates automated deployment of MinIO clusters.

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