Deploy Operator With Helm
Overview
Helm is a tool for automating the deployment of applications to Kubernetes clusters. A Helm chart is a set of YAML files, templates, and other files that define the deployment details. The following procedure uses a Helm Chart to install the MinIO Kubernetes Operator to a Kubernetes cluster.
Prerequisites
See the Operator Prerequisites for a baseline of requirements. Helm installations have the following additional requirements:
For more about Operator installation requirements, including supported Kubernetes versions and TLS certificates, see the Operator deployment prerequisites.
This procedure assumes familiarity with the referenced Kubernetes concepts and utilities. While this documentation may provide guidance for configuring or deploying Kubernetes-related resources on a best-effort basis, it is not a replacement for the official Kubernetes Documentation.
Install the MinIO Operator using Helm Charts
The following procedure installs the Operator using the MinIO Operator Chart Repository. This method supports a simplified installation path compared to the local chart installation. You can modify the Operator deployment after installation.
Important
If you use Helm charts to install the Operator, you must use Helm to manage that installation.
Do not use kubectl krew
, Kustomize, or similar methods to update or manage the MinIO Operator installation.
Add the MinIO Operator Repo to Helm
MinIO maintains a Helm-compatible repository at https://operator.min.io. Add this repository to Helm:
helm repo add minio-operator https://operator.min.io
You can validate the repo contents using
helm search
:helm search repo minio-operator
The response should resemble the following:
NAME CHART VERSION APP VERSION DESCRIPTION minio-operator/minio-operator 4.3.7 v4.3.7 A Helm chart for MinIO Operator minio-operator/operator 6.0.1 v6.0.1 A Helm chart for MinIO Operator minio-operator/tenant 6.0.1 v6.0.1 A Helm chart for MinIO Operator
The
minio-operator/minio-operator
is a legacy chart and should not be installed under normal circumstances.Install the Operator
Run the
helm install
command to install the Operator. The following command specifies and creates a dedicated namespaceminio-operator
for installation. MinIO strongly recommends using a dedicated namespace for the Operator.helm install \ --namespace minio-operator \ --create-namespace \ operator minio-operator/operator
Verify the Operator installation
Check the contents of the specified namespace (
minio-operator
) to ensure all pods and services have started successfully.kubectl get all -n minio-operator
The response should resemble the following:
NAME READY STATUS RESTARTS AGE pod/minio-operator-699f797b8b-th5bk 1/1 Running 0 25h pod/minio-operator-699f797b8b-nkrn9 1/1 Running 0 25h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/operator ClusterIP 10.43.44.204 <none> 4221/TCP 25h service/sts ClusterIP 10.43.70.4 <none> 4223/TCP 25h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/minio-operator 2/2 2 2 25h NAME DESIRED CURRENT READY AGE replicaset.apps/minio-operator-79f7bfc48 2 2 2 123m
You can now deploy a tenant using Helm Charts.
Install the MinIO Operator using Local Helm Charts
The following procedure installs the Operator using a local copy of the Helm Charts. This method may support easier pre-configuration of the Operator compared to the repo-based installation
Download the Helm charts
On your local host, download the Operator Helm charts to a convenient directory:
curl -O https://raw.githubusercontent.com/minio/operator/master/helm-releases/operator-6.0.4.tgz
(Optional) Modify the
values.yaml
The chart contains a
values.yaml
file you can customize to suit your needs. For details on the options available in the MinIO Operatorvalues.yaml
, see Operator Helm Charts.For example, you can change the number of replicas for
operators.replicaCount
to increase or decrease pod availability in the deployment. See Operator Helm Charts for more complete documentation on the Operator Helm Chart and Values.For more about customizations, see Helm Charts.
Install the Helm Chart
Use the
helm install
command to install the chart. The following command assumes the Operator chart is saved to./operator
relative to the working directory.helm install \ --namespace minio-operator \ --create-namespace \ minio-operator ./operator
To verify the installation, run the following command:
kubectl get all --namespace minio-operator
If you initialized the Operator with a custom namespace, replace
minio-operator
with that namespace.The output resembles the following:
NAME READY STATUS RESTARTS AGE pod/minio-operator-7976b4df5b-rsskl 1/1 Running 0 81m pod/minio-operator-7976b4df5b-x622g 1/1 Running 0 81m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/operator ClusterIP 10.110.113.146 <none> 4222/TCP,4233/TCP 81m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/minio-operator 2/2 2 2 81m NAME DESIRED CURRENT READY AGE replicaset.apps/minio-operator-7976b4df5b 1 1 1 81m
You can now deploy a tenant using Helm Charts.