mirror of
https://github.com/minio/docs.git
synced 2025-07-25 21:22:11 +03:00
Removing references to openshift container platform, bumping CRD (#1415)
# Summary We removed support for deploying via OpenShift operatorhub / marketplace a few months back. The burden of maintaining the certifications/process required was sufficient to pull that feature set out moving forward and migrate it to AIStor as part of a more complete enterprise offering. For now we need to remove references to the operator hub / marketplace. It is possible that the Openshift Kubernetes Engine may work w/ our stock kubernetes installation paths, but we do not have resources to test. So for the immediate term, we're just going to pull whats outdated. Also throwing in a fixup to the CRDs - I ran into a weird issue where I had to `pip3 install asciidoc` before the sync-operator-crd-docs job worked, am looking into that separately. Staged: http://192.241.195.202:9000/staging/openshift-fixup/openshift/index.html
This commit is contained in:
@ -27,6 +27,14 @@ See the MinIO Operator :minio-git:`CRD Reference <operator/blob/master/docs/tena
|
|||||||
This documentation assumes familiarity with referenced Kubernetes concepts, utilities, and procedures.
|
This documentation assumes familiarity with referenced Kubernetes concepts, utilities, and procedures.
|
||||||
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 :kube-docs:`Kubernetes Documentation <>`.
|
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 :kube-docs:`Kubernetes Documentation <>`.
|
||||||
|
|
||||||
|
.. cond:: openshift
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
|
||||||
|
Support for deploying the MinIO Operator via the RedHat Marketplace or OperatorHub was removed in 2024.
|
||||||
|
|subnet| customers can open an issue for further clarification and instructions on migrating to `AIStor <https://min.io/product/aistor-overview?jmp=docs>`__.
|
||||||
|
|
||||||
|
This documentation provides guidance through the general method of operator installation onto Kubernetes infrastructure.
|
||||||
|
|
||||||
MinIO Operator Components
|
MinIO Operator Components
|
||||||
-------------------------
|
-------------------------
|
||||||
|
@ -981,6 +981,45 @@ should keep running this Pool without a Security Context</p></td>
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
## PoolsMetadata
|
||||||
|
|
||||||
|
PoolsMetadata (`poolsMetadata`) defines custom labels and annotations
|
||||||
|
for the MinIO pool stateful sets / pods.
|
||||||
|
|
||||||
|
- [TenantSpec](#tenantspec)
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 25%" />
|
||||||
|
<col style="width: 75%" />
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr class="header">
|
||||||
|
<th style="text-align: left;">Field</th>
|
||||||
|
<th style="text-align: left;">Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr class="odd">
|
||||||
|
<td style="text-align: left;"><p><strong><code>labels</code></strong>
|
||||||
|
<em>object (keys:string, values:string)</em></p></td>
|
||||||
|
<td style="text-align: left;"><p><strong>Optional</strong><br />
|
||||||
|
</p>
|
||||||
|
<p>If provided, append these labels to the MinIO statefulset /
|
||||||
|
pods</p></td>
|
||||||
|
</tr>
|
||||||
|
<tr class="even">
|
||||||
|
<td
|
||||||
|
style="text-align: left;"><p><strong><code>annotations</code></strong>
|
||||||
|
<em>object (keys:string, values:string)</em></p></td>
|
||||||
|
<td style="text-align: left;"><p><strong>Optional</strong><br />
|
||||||
|
</p>
|
||||||
|
<p>If provided, append these annotations to the MinIO statefulset /
|
||||||
|
pods</p></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
## ServiceMetadata
|
## ServiceMetadata
|
||||||
|
|
||||||
ServiceMetadata (`serviceMetadata`) defines custom labels and
|
ServiceMetadata (`serviceMetadata`) defines custom labels and
|
||||||
@ -1033,6 +1072,22 @@ style="text-align: left;"><p><strong><code>consoleServiceAnnotations</code></str
|
|||||||
</p>
|
</p>
|
||||||
<p>If provided, append these annotations to the Console service</p></td>
|
<p>If provided, append these annotations to the Console service</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr class="odd">
|
||||||
|
<td
|
||||||
|
style="text-align: left;"><p><strong><code>kesServiceLabels</code></strong>
|
||||||
|
<em>object (keys:string, values:string)</em></p></td>
|
||||||
|
<td style="text-align: left;"><p><strong>Optional</strong><br />
|
||||||
|
</p>
|
||||||
|
<p>If provided, append these labels to the KES service</p></td>
|
||||||
|
</tr>
|
||||||
|
<tr class="even">
|
||||||
|
<td
|
||||||
|
style="text-align: left;"><p><strong><code>kesServiceAnnotations</code></strong>
|
||||||
|
<em>object (keys:string, values:string)</em></p></td>
|
||||||
|
<td style="text-align: left;"><p><strong>Optional</strong><br />
|
||||||
|
</p>
|
||||||
|
<p>If provided, append these annotations to the KES service</p></td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -1673,6 +1728,16 @@ href="#servicemetadata">ServiceMetadata</a></em></p></td>
|
|||||||
and/or Console service.</p></td>
|
and/or Console service.</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
|
<td
|
||||||
|
style="text-align: left;"><p><strong><code>poolsMetadata</code></strong>
|
||||||
|
<em><a
|
||||||
|
href="#poolsmetadata">PoolsMetadata</a></em></p></td>
|
||||||
|
<td style="text-align: left;"><p><strong>Optional</strong><br />
|
||||||
|
</p>
|
||||||
|
<p>Specify custom labels and annotations to append to all pool
|
||||||
|
statefulsets and pods.</p></td>
|
||||||
|
</tr>
|
||||||
|
<tr class="odd">
|
||||||
<td style="text-align: left;"><p><strong><code>users</code></strong>
|
<td style="text-align: left;"><p><strong><code>users</code></strong>
|
||||||
<em><a
|
<em><a
|
||||||
href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#localobjectreference-v1-core">LocalObjectReference</a>
|
href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#localobjectreference-v1-core">LocalObjectReference</a>
|
||||||
@ -1704,7 +1769,7 @@ policy by default. You can change the assigned policy after the Tenant
|
|||||||
starts.<br />
|
starts.<br />
|
||||||
</p></td>
|
</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="even">
|
||||||
<td style="text-align: left;"><p><strong><code>buckets</code></strong>
|
<td style="text-align: left;"><p><strong><code>buckets</code></strong>
|
||||||
<em><a
|
<em><a
|
||||||
href="#bucket">Bucket</a>
|
href="#bucket">Bucket</a>
|
||||||
@ -1714,7 +1779,7 @@ array</em></p></td>
|
|||||||
<p>Create buckets when creating a new tenant. Skip if bucket with given
|
<p>Create buckets when creating a new tenant. Skip if bucket with given
|
||||||
name already exists</p></td>
|
name already exists</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="odd">
|
||||||
<td style="text-align: left;"><p><strong><code>logging</code></strong>
|
<td style="text-align: left;"><p><strong><code>logging</code></strong>
|
||||||
<em><a
|
<em><a
|
||||||
href="#logging">Logging</a></em></p></td>
|
href="#logging">Logging</a></em></p></td>
|
||||||
@ -1722,7 +1787,7 @@ href="#logging">Logging</a></em></p></td>
|
|||||||
</p>
|
</p>
|
||||||
<p>Enable JSON, Anonymous logging for MinIO tenants.</p></td>
|
<p>Enable JSON, Anonymous logging for MinIO tenants.</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="even">
|
||||||
<td
|
<td
|
||||||
style="text-align: left;"><p><strong><code>configuration</code></strong>
|
style="text-align: left;"><p><strong><code>configuration</code></strong>
|
||||||
<em><a
|
<em><a
|
||||||
@ -1734,7 +1799,7 @@ configurations to be used for the MinIO pools. The secret is expected to
|
|||||||
have a key named config.env containing all exported environment
|
have a key named config.env containing all exported environment
|
||||||
variables for MinIO+</p></td>
|
variables for MinIO+</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="odd">
|
||||||
<td
|
<td
|
||||||
style="text-align: left;"><p><strong><code>initContainers</code></strong>
|
style="text-align: left;"><p><strong><code>initContainers</code></strong>
|
||||||
<em><a
|
<em><a
|
||||||
@ -1744,7 +1809,7 @@ array</em></p></td>
|
|||||||
</p>
|
</p>
|
||||||
<p>Add custom initContainers to StatefulSet</p></td>
|
<p>Add custom initContainers to StatefulSet</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="even">
|
||||||
<td
|
<td
|
||||||
style="text-align: left;"><p><strong><code>additionalVolumes</code></strong>
|
style="text-align: left;"><p><strong><code>additionalVolumes</code></strong>
|
||||||
<em><a
|
<em><a
|
||||||
@ -1756,7 +1821,7 @@ array</em></p></td>
|
|||||||
rules for the corresponding volumes and volume mounts. We will not test
|
rules for the corresponding volumes and volume mounts. We will not test
|
||||||
this rule, k8s will show the result.</p></td>
|
this rule, k8s will show the result.</p></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="odd">
|
||||||
<td
|
<td
|
||||||
style="text-align: left;"><p><strong><code>additionalVolumeMounts</code></strong>
|
style="text-align: left;"><p><strong><code>additionalVolumeMounts</code></strong>
|
||||||
<em><a
|
<em><a
|
||||||
|
@ -10,10 +10,6 @@ operator:
|
|||||||
# .. code-block:: yaml
|
# .. code-block:: yaml
|
||||||
#
|
#
|
||||||
# env:
|
# env:
|
||||||
# - name: MINIO_OPERATOR_DEPLOYMENT_NAME
|
|
||||||
# valueFrom:
|
|
||||||
# fieldRef:
|
|
||||||
# fieldPath: metadata.labels['app.kubernetes.io/name']
|
|
||||||
# - name: CLUSTER_DOMAIN
|
# - name: CLUSTER_DOMAIN
|
||||||
# value: "cluster.domain"
|
# value: "cluster.domain"
|
||||||
# - name: WATCHED_NAMESPACE
|
# - name: WATCHED_NAMESPACE
|
||||||
@ -32,14 +28,14 @@ operator:
|
|||||||
###
|
###
|
||||||
# Specify the Operator container image to use for the deployment.
|
# Specify the Operator container image to use for the deployment.
|
||||||
# ``image.tag``
|
# ``image.tag``
|
||||||
# For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v6.0.3 tag.
|
# For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v7.0.0 tag.
|
||||||
# The container pulls the image if not already present:
|
# The container pulls the image if not already present:
|
||||||
#
|
#
|
||||||
# .. code-block:: yaml
|
# .. code-block:: yaml
|
||||||
#
|
#
|
||||||
# image:
|
# image:
|
||||||
# repository: quay.io/minio/operator
|
# repository: quay.io/minio/operator
|
||||||
# tag: v6.0.3
|
# tag: v7.0.0
|
||||||
# pullPolicy: IfNotPresent
|
# pullPolicy: IfNotPresent
|
||||||
#
|
#
|
||||||
# The chart also supports specifying an image based on digest value:
|
# The chart also supports specifying an image based on digest value:
|
||||||
@ -53,20 +49,20 @@ operator:
|
|||||||
#
|
#
|
||||||
image:
|
image:
|
||||||
repository: quay.io/minio/operator
|
repository: quay.io/minio/operator
|
||||||
tag: v6.0.3
|
tag: v7.0.0
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
###
|
###
|
||||||
# Specify the sidecar container image to deploy on tenant pods for init container and sidecar.
|
# Specify the sidecar container image to deploy on tenant pods for init container and sidecar.
|
||||||
# Only need to change this if want to use a different version that the default, or want to set a custom registry.
|
# Only need to change this if want to use a different version that the default, or want to set a custom registry.
|
||||||
# ``sidecarImage.tag``
|
# ``sidecarImage.tag``
|
||||||
# For example, the following sets the image to the ``quay.io/minio/operator-sidecar`` repo and the v6.0.3 tag.
|
# For example, the following sets the image to the ``quay.io/minio/operator-sidecar`` repo and the v7.0.0 tag.
|
||||||
# The container pulls the image if not already present:
|
# The container pulls the image if not already present:
|
||||||
#
|
#
|
||||||
# .. code-block:: yaml
|
# .. code-block:: yaml
|
||||||
#
|
#
|
||||||
# sidecarImage:
|
# sidecarImage:
|
||||||
# repository: quay.io/minio/operator-sidecar
|
# repository: quay.io/minio/operator-sidecar
|
||||||
# tag: v6.0.3
|
# tag: v7.0.0
|
||||||
# pullPolicy: IfNotPresent
|
# pullPolicy: IfNotPresent
|
||||||
#
|
#
|
||||||
# The chart also supports specifying an image based on digest value:
|
# The chart also supports specifying an image based on digest value:
|
||||||
|
@ -8,14 +8,14 @@ tenant:
|
|||||||
###
|
###
|
||||||
# Specify the Operator container image to use for the deployment.
|
# Specify the Operator container image to use for the deployment.
|
||||||
# ``image.tag``
|
# ``image.tag``
|
||||||
# For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v6.0.3 tag.
|
# For example, the following sets the image to the ``quay.io/minio/operator`` repo and the v7.0.0 tag.
|
||||||
# The container pulls the image if not already present:
|
# The container pulls the image if not already present:
|
||||||
#
|
#
|
||||||
# .. code-block:: yaml
|
# .. code-block:: yaml
|
||||||
#
|
#
|
||||||
# image:
|
# image:
|
||||||
# repository: quay.io/minio/minio
|
# repository: quay.io/minio/minio
|
||||||
# tag: RELEASE.2024-08-17T01-24-54Z
|
# tag: RELEASE.2024-11-07T00-52-20Z
|
||||||
# pullPolicy: IfNotPresent
|
# pullPolicy: IfNotPresent
|
||||||
#
|
#
|
||||||
# The chart also supports specifying an image based on digest value:
|
# The chart also supports specifying an image based on digest value:
|
||||||
@ -30,7 +30,7 @@ tenant:
|
|||||||
#
|
#
|
||||||
image:
|
image:
|
||||||
repository: quay.io/minio/minio
|
repository: quay.io/minio/minio
|
||||||
tag: RELEASE.2024-08-17T01-24-54Z
|
tag: RELEASE.2024-11-07T00-52-20Z
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
###
|
###
|
||||||
#
|
#
|
||||||
@ -38,6 +38,30 @@ tenant:
|
|||||||
# Only one array element is supported at this time.
|
# Only one array element is supported at this time.
|
||||||
imagePullSecret: { }
|
imagePullSecret: { }
|
||||||
###
|
###
|
||||||
|
#
|
||||||
|
# Specify `initContainers <https://kubernetes.io/docs/concepts/workloads/pods/init-containers/>`__ to perform setup or configuration tasks before the main Tenant pods starts.
|
||||||
|
#
|
||||||
|
# Example of init container which waits for idenity provider to be reachable before starting MinIO Tenant:
|
||||||
|
#
|
||||||
|
# .. code-block:: yaml
|
||||||
|
#
|
||||||
|
# initContainers:
|
||||||
|
# - name: wait-for-idp
|
||||||
|
# image: busybox
|
||||||
|
# command:
|
||||||
|
# - sh
|
||||||
|
# - -c
|
||||||
|
# - |
|
||||||
|
# URL="https://idp-url"
|
||||||
|
# echo "Checking IdP reachability (${URL})"
|
||||||
|
# until $(wget -q -O "/dev/null" ${URL}) ; do
|
||||||
|
# echo "IdP (${URL}) not reachable. Waiting to be reachable..."
|
||||||
|
# sleep 5
|
||||||
|
# done
|
||||||
|
# echo "IdP (${URL}) reachable. Starting MinIO..."
|
||||||
|
#
|
||||||
|
initContainers: [ ]
|
||||||
|
###
|
||||||
# The Kubernetes `Scheduler <https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/>`__ to use for dispatching Tenant pods.
|
# The Kubernetes `Scheduler <https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/>`__ to use for dispatching Tenant pods.
|
||||||
#
|
#
|
||||||
# Specify an empty dictionary ``{}`` to dispatch pods with the default scheduler.
|
# Specify an empty dictionary ``{}`` to dispatch pods with the default scheduler.
|
||||||
@ -62,12 +86,24 @@ tenant:
|
|||||||
#
|
#
|
||||||
# name: myminio-env-configuration
|
# name: myminio-env-configuration
|
||||||
# accessKey: minio
|
# accessKey: minio
|
||||||
# secretKey: minio123
|
# secretKey: minio123
|
||||||
#
|
#
|
||||||
configSecret:
|
configSecret:
|
||||||
name: myminio-env-configuration
|
name: myminio-env-configuration
|
||||||
accessKey: minio
|
accessKey: minio
|
||||||
secretKey: minio123
|
secretKey: minio123
|
||||||
|
#existingSecret: true
|
||||||
|
|
||||||
|
###
|
||||||
|
# Metadata that will be added to the statefulset and pods of all pools
|
||||||
|
poolsMetadata:
|
||||||
|
###
|
||||||
|
# Specify `annotations <https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/>`__ to associate to Tenant pods.
|
||||||
|
annotations: { }
|
||||||
|
###
|
||||||
|
# Specify `labels <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/>`__ to associate to Tenant pods.
|
||||||
|
labels: { }
|
||||||
|
|
||||||
###
|
###
|
||||||
# If this variable is set to true, then enable the usage of an existing Kubernetes secret to set environment variables for the Tenant.
|
# If this variable is set to true, then enable the usage of an existing Kubernetes secret to set environment variables for the Tenant.
|
||||||
# The existing Kubernetes secret name must be placed under .tenant.configuration.name e.g. existing-minio-env-configuration
|
# The existing Kubernetes secret name must be placed under .tenant.configuration.name e.g. existing-minio-env-configuration
|
||||||
@ -113,6 +149,9 @@ tenant:
|
|||||||
# Specify `storageAnnotations <https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/>`__ to associate to PVCs.
|
# Specify `storageAnnotations <https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/>`__ to associate to PVCs.
|
||||||
storageAnnotations: { }
|
storageAnnotations: { }
|
||||||
###
|
###
|
||||||
|
# Specify `storageLabels <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/>`__ to associate to PVCs.
|
||||||
|
storageLabels: { }
|
||||||
|
###
|
||||||
# Specify `annotations <https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/>`__ to associate to Tenant pods.
|
# Specify `annotations <https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/>`__ to associate to Tenant pods.
|
||||||
annotations: { }
|
annotations: { }
|
||||||
###
|
###
|
||||||
@ -253,8 +292,8 @@ tenant:
|
|||||||
# .. code-block:: yaml
|
# .. code-block:: yaml
|
||||||
#
|
#
|
||||||
# - name: my-minio-bucket
|
# - name: my-minio-bucket
|
||||||
# objectLock: false # optional
|
# objectLock: false # optional
|
||||||
# region: us-east-1 # optional
|
# region: us-east-1 # optional
|
||||||
buckets: [ ]
|
buckets: [ ]
|
||||||
###
|
###
|
||||||
# Array of Kubernetes secrets from which the Operator generates MinIO users during tenant provisioning.
|
# Array of Kubernetes secrets from which the Operator generates MinIO users during tenant provisioning.
|
||||||
@ -347,14 +386,14 @@ tenant:
|
|||||||
# # Image from tag (original behavior), for example:
|
# # Image from tag (original behavior), for example:
|
||||||
# # image:
|
# # image:
|
||||||
# # repository: quay.io/minio/kes
|
# # repository: quay.io/minio/kes
|
||||||
# # tag: 2024-08-16T14-39-28Z
|
# # tag: 2024-11-25T13-44-31Z
|
||||||
# # Image from digest (added after original behavior), for example:
|
# # Image from digest (added after original behavior), for example:
|
||||||
# # image:
|
# # image:
|
||||||
# # repository: quay.io/minio/kes@sha256
|
# # repository: quay.io/minio/kes@sha256
|
||||||
# # digest: fb15af611149892f357a8a99d1bcd8bf5dae713bd64c15e6eb27fbdb88fc208b
|
# # digest: fb15af611149892f357a8a99d1bcd8bf5dae713bd64c15e6eb27fbdb88fc208b
|
||||||
# image:
|
# image:
|
||||||
# repository: quay.io/minio/kes
|
# repository: quay.io/minio/kes
|
||||||
# tag: 2024-08-16T14-39-28Z
|
# tag: 2024-11-25T13-44-31Z
|
||||||
# pullPolicy: IfNotPresent
|
# pullPolicy: IfNotPresent
|
||||||
# env: [ ]
|
# env: [ ]
|
||||||
# replicas: 2
|
# replicas: 2
|
||||||
|
@ -1,295 +0,0 @@
|
|||||||
|
|
||||||
.. _deploy-operator-openshift:
|
|
||||||
|
|
||||||
=========================================
|
|
||||||
Deploy MinIO Operator on RedHat OpenShift
|
|
||||||
=========================================
|
|
||||||
|
|
||||||
.. default-domain:: minio
|
|
||||||
|
|
||||||
.. contents:: Table of Contents
|
|
||||||
:local:
|
|
||||||
:depth: 1
|
|
||||||
|
|
||||||
Overview
|
|
||||||
--------
|
|
||||||
|
|
||||||
Red Hat® OpenShift® is an enterprise-ready Kubernetes container platform with full-stack automated operations to manage hybrid cloud, multi-cloud, and edge deployments.
|
|
||||||
OpenShift includes an enterprise-grade Linux operating system, container runtime, networking, monitoring, registry, and authentication and authorization solutions.
|
|
||||||
|
|
||||||
You can deploy the MinIO Kubernetes Operator through the :openshift-docs:`Red Hat® OpenShift® Container Platform 4.8+ <welcome/index.html>`.
|
|
||||||
You can deploy and manage MinIO Tenants through OpenShift after deploying the MinIO Operator.
|
|
||||||
This procedure includes instructions for the following deployment paths:
|
|
||||||
|
|
||||||
- Purchase and Deploy MinIO through the `RedHat Marketplace <https://marketplace.redhat.com/en-us/products/minio-hybrid-cloud-object-storage>`__.
|
|
||||||
- Deploy MinIO through the OpenShift `OperatorHub <https://operatorhub.io/operator/minio-operator>`__
|
|
||||||
|
|
||||||
After deploying the MinIO Operator into your OpenShift cluster, you can create and manage MinIO Tenants through the :openshift-docs:`OperatorHub <operators/understanding/olm-understanding-operatorhub.html>` user interface.
|
|
||||||
|
|
||||||
This documentation assumes familiarity with all referenced Kubernetes and OpenShift concepts, utilities, and procedures.
|
|
||||||
While this documentation *may* provide guidance for configuring or deploying Kubernetes-related or OpenShift-related resources on a best-effort basis, it is not a replacement for the official :kube-docs:`Kubernetes Documentation <>` and :openshift-docs:`OpenShift Container Platform 4.8+ Documentation <welcome/index.html>`.
|
|
||||||
|
|
||||||
Prerequisites
|
|
||||||
-------------
|
|
||||||
|
|
||||||
RedHat OpenShift 4.8+
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
The MinIO Kubernetes Operator is available starting with `OpenShift 4.8+ <https://docs.openshift.com/container-platform/4.13/welcome/index.html>`__.
|
|
||||||
|
|
||||||
Red Hat Marketplace installation requires registration of the OpenShift cluster with the Marketplace for the necessary namespaces.
|
|
||||||
See `Register OpenShift cluster with Red Hat Marketplace <https://marketplace.redhat.com/en-us/documentation/clusters>`__ for complete instructions.
|
|
||||||
|
|
||||||
For older versions of OpenShift, use the generic :ref:`deploy-operator-kubernetes` procedure.
|
|
||||||
|
|
||||||
Administrator Access
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Installation of operators through the Red Hat Marketplace and the Operator Hub is restricted to OpenShift cluster administrators (``cluster-admin`` privileges).
|
|
||||||
This procedure requires logging into the Marketplace and/or OpenShift with an account that has those privileges.
|
|
||||||
|
|
||||||
OpenShift ``oc`` CLI
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
:openshift-docs:`Download and Install <cli_reference/openshift_cli/getting-started-cli.html>` the OpenShift :abbr:`CLI (command-line interface)` ``oc`` for use in this procedure.
|
|
||||||
|
|
||||||
|
|
||||||
Procedure
|
|
||||||
---------
|
|
||||||
|
|
||||||
1) Access the MinIO Operator Installation
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Select the tab that corresponds to your preferred installation method:
|
|
||||||
|
|
||||||
.. tab-set::
|
|
||||||
|
|
||||||
.. tab-item:: Red Hat OperatorHub
|
|
||||||
|
|
||||||
Log into the OpenShift Web Console as a user with ``cluster-admin`` privileges.
|
|
||||||
|
|
||||||
From the :guilabel:`Administrator` panel, select :guilabel:`Operators`, then :guilabel:`OperatorHub`.
|
|
||||||
|
|
||||||
From the :guilabel:`OperatorHub` page, type "MinIO" into the :guilabel:`Filter` text entry. Select the :guilabel:`MinIO Operator` tile from the search list.
|
|
||||||
|
|
||||||
.. image:: /images/openshift/minio-openshift-select-minio.png
|
|
||||||
:align: center
|
|
||||||
:width: 90%
|
|
||||||
:class: no-scaled-link
|
|
||||||
:alt: From the OperatorHub, search for MinIO, then select the MinIO Tile.
|
|
||||||
|
|
||||||
Select the :guilabel:`MinIO Operator` tile, then click :guilabel:`Install` to begin the installation.
|
|
||||||
|
|
||||||
.. tab-item:: Red Hat Marketplace
|
|
||||||
|
|
||||||
Open the `MinIO Red Hat Marketplace listing <https://marketplace.redhat.com/en-us/products/minio-hybrid-cloud-object-storage>`__ in your browser.
|
|
||||||
Click :guilabel:`Login` to log in with your Red Hat Marketplace account.
|
|
||||||
|
|
||||||
After logging in, click :guilabel:`Purchase` to purchase the MinIO Operator for your account.
|
|
||||||
|
|
||||||
After completing the purchase, click :guilabel:`Workplace` from the top navigation and select :guilabel:`My Software`.
|
|
||||||
|
|
||||||
.. image:: /images/openshift/minio-openshift-marketplace-my-software.png
|
|
||||||
:align: center
|
|
||||||
:width: 90%
|
|
||||||
:class: no-scaled-link
|
|
||||||
:alt: From the Red Hat Marketplace, select Workplace, then My Software
|
|
||||||
|
|
||||||
Click :guilabel:`MinIO Hybrid Cloud Object Storage` and select :guilabel:`Install Operator` to start the Operator Installation procedure in OpenShift.
|
|
||||||
|
|
||||||
2) Configure and Deploy the Operator
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
The :guilabel:`Install Operator` page provides a walkthrough for configuring the MinIO Operator installation.
|
|
||||||
|
|
||||||
.. image:: /images/openshift/minio-openshift-operator-installation.png
|
|
||||||
:align: center
|
|
||||||
:width: 90%
|
|
||||||
:class: no-scaled-link
|
|
||||||
:alt: Complete the Operator Installation Walkthrough
|
|
||||||
|
|
||||||
- For :guilabel:`Update channel`, select any of the available options.
|
|
||||||
|
|
||||||
- For :guilabel:`Installation Mode`, select :guilabel:`All namespaces on the cluster`
|
|
||||||
|
|
||||||
- For :guilabel:`Installed Namespace`, select :guilabel:`openshift-operators`
|
|
||||||
|
|
||||||
- For :guilabel:`Approval Strategy`, select the approval strategy of your choice.
|
|
||||||
|
|
||||||
See the :openshift-docs:`Operator Installation Documentation <operators/admin/olm-adding-operators-to-cluster.html#olm-installing-from-operatorhub-using-web-console_olm-adding-operators-to-a-cluster>` :guilabel:`Step 5` for complete descriptions of each displayed option.
|
|
||||||
|
|
||||||
Click :guilabel:`Install` to start the installation procedure.
|
|
||||||
The web console displays a widget for tracking the installation progress.
|
|
||||||
|
|
||||||
.. image:: /images/openshift/minio-openshift-operator-installation-progress.png
|
|
||||||
:align: center
|
|
||||||
:width: 70%
|
|
||||||
:class: no-scaled-link
|
|
||||||
:alt: Wait for Installation to Complete.
|
|
||||||
|
|
||||||
Once installation completes, click :guilabel:`View Operator` to view the MinIO Operator page.
|
|
||||||
|
|
||||||
3) Configure TLS Certificates
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
If you have installed the MinIO Operator from Red Hat OperatorHub, the installation process also configures the :openshift-docs:`OpenShift Service CA Operator <security/certificate_types_descriptions/service-ca-certificates.html>`.
|
|
||||||
This Operator manages the TLS certificates required to access MinIO Tenants.
|
|
||||||
It automatically renews and rotates the certificates 13 months before expiration.
|
|
||||||
No additional action is required.
|
|
||||||
|
|
||||||
For Operator installations deployed by other methods, configure the :openshift-docs:`Service CA certificates <security/certificate_types_descriptions/service-ca-certificates.html>` manually.
|
|
||||||
See the dropdowns below for details.
|
|
||||||
|
|
||||||
.. dropdown:: OpenShift Service CA Certificate configuration
|
|
||||||
|
|
||||||
To manually enable the ``service-ca`` Operator to manage TLS certificates:
|
|
||||||
|
|
||||||
#. Use the following :openshift-docs:`oc <cli_reference/openshift_cli/getting-started-cli.html>` command to edit the deployment:
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
:class: copyable
|
|
||||||
|
|
||||||
oc edit deployment minio-operator -n minio-operator
|
|
||||||
|
|
||||||
If needed, replace ``minio-operator`` with the name and namespace of your deployment.
|
|
||||||
``oc edit`` opens the deployment configuration file in an editor.
|
|
||||||
|
|
||||||
#. In the ``spec`` section, add the highlighted MinIO Operator :ref:`environment variables <minio-server-environment-variables>`:
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
:class: copyable
|
|
||||||
:emphasize-lines: 5-8
|
|
||||||
|
|
||||||
containers:
|
|
||||||
- args:
|
|
||||||
- controller
|
|
||||||
env:
|
|
||||||
- name: MINIO_CONSOLE_TLS_ENABLE
|
|
||||||
value: 'on'
|
|
||||||
- name: MINIO_OPERATOR_RUNTIME
|
|
||||||
value: OpenShift
|
|
||||||
|
|
||||||
#. In the ``volumes`` section, add the following volumes and volume mounts:
|
|
||||||
|
|
||||||
- ``sts-tls``
|
|
||||||
- ``openshift-service-ca``
|
|
||||||
- ``openshift-csr-signer-ca``
|
|
||||||
|
|
||||||
The added volume configuration resembles the following:
|
|
||||||
|
|
||||||
.. code-block:: shell
|
|
||||||
:class: copyable
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: sts-tls
|
|
||||||
projected:
|
|
||||||
sources:
|
|
||||||
- secret:
|
|
||||||
name: sts-tls
|
|
||||||
items:
|
|
||||||
- key: tls.crt
|
|
||||||
path: public.crt
|
|
||||||
- key: tls.key
|
|
||||||
path: private.key
|
|
||||||
optional: true
|
|
||||||
defaultMode: 420
|
|
||||||
- name: openshift-service-ca
|
|
||||||
configMap:
|
|
||||||
name: openshift-service-ca.crt
|
|
||||||
items:
|
|
||||||
- key: service-ca.crt
|
|
||||||
path: service-ca.crt
|
|
||||||
defaultMode: 420
|
|
||||||
optional: true
|
|
||||||
- name: openshift-csr-signer-ca
|
|
||||||
projected:
|
|
||||||
sources:
|
|
||||||
- secret:
|
|
||||||
name: openshift-csr-signer-ca
|
|
||||||
items:
|
|
||||||
- key: tls.crt
|
|
||||||
path: tls.crt
|
|
||||||
optional: true
|
|
||||||
defaultMode: 420
|
|
||||||
volumeMounts:
|
|
||||||
- name: openshift-service-ca
|
|
||||||
mountPath: /tmp/service-ca
|
|
||||||
- name: openshift-csr-signer-ca
|
|
||||||
mountPath: /tmp/csr-signer-ca
|
|
||||||
- name: sts-tls
|
|
||||||
mountPath: /tmp/sts
|
|
||||||
|
|
||||||
.. dropdown:: OpenShift Service CA Certificate for Helm deployments
|
|
||||||
|
|
||||||
For Helm deployments on OpenShift, add the following :ref:`environment variables <minio-server-environment-variables>` and volumes to the ``values.yaml`` in the Operator Helm chart before deploying.
|
|
||||||
|
|
||||||
The added YAML configuration for the ``operator`` pod resembles the following:
|
|
||||||
|
|
||||||
.. code-block::
|
|
||||||
:class: copyable
|
|
||||||
|
|
||||||
operator:
|
|
||||||
env:
|
|
||||||
- name: MINIO_OPERATOR_RUNTIME
|
|
||||||
value: "OpenShift"
|
|
||||||
- name: MINIO_CONSOLE_TLS_ENABLE
|
|
||||||
value: "on"
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: sts-tls
|
|
||||||
projected:
|
|
||||||
sources:
|
|
||||||
- secret:
|
|
||||||
name: sts-tls
|
|
||||||
items:
|
|
||||||
- key: tls.crt
|
|
||||||
path: public.crt
|
|
||||||
- key: tls.key
|
|
||||||
path: private.key
|
|
||||||
optional: true
|
|
||||||
defaultMode: 420
|
|
||||||
- name: openshift-service-ca
|
|
||||||
configMap:
|
|
||||||
name: openshift-service-ca.crt
|
|
||||||
items:
|
|
||||||
- key: service-ca.crt
|
|
||||||
path: service-ca.crt
|
|
||||||
defaultMode: 420
|
|
||||||
optional: true
|
|
||||||
- name: openshift-csr-signer-ca
|
|
||||||
projected:
|
|
||||||
sources:
|
|
||||||
- secret:
|
|
||||||
name: openshift-csr-signer-ca
|
|
||||||
items:
|
|
||||||
- key: tls.crt
|
|
||||||
path: tls.crt
|
|
||||||
optional: true
|
|
||||||
defaultMode: 420
|
|
||||||
volumeMounts:
|
|
||||||
- name: openshift-service-ca
|
|
||||||
mountPath: /tmp/service-ca
|
|
||||||
- name: openshift-csr-signer-ca
|
|
||||||
mountPath: /tmp/csr-signer-ca
|
|
||||||
- name: sts-tls
|
|
||||||
mountPath: /tmp/sts
|
|
||||||
|
|
||||||
|
|
||||||
4) Open the MinIO Operator Interface
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
You can find the MinIO Operator Interface from the :guilabel:`Operators` left-hand navigation header
|
|
||||||
|
|
||||||
1. Go to :guilabel:`Operators`, then :guilabel:`Installed Operators`.
|
|
||||||
|
|
||||||
2. For the :guilabel:`Project` dropdown, select :guilabel:`openshift-operators`.
|
|
||||||
|
|
||||||
3. Select :guilabel:`MinIO Operators` from the list of installed operators.
|
|
||||||
The :guilabel:`Status` column must read :guilabel:`Success` to access the Operator interface.
|
|
||||||
|
|
||||||
|
|
||||||
5) Next Steps
|
|
||||||
~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
After deploying the MinIO Operator, you can create a new MinIO Tenant.
|
|
||||||
To deploy a MinIO Tenant using OpenShift, see :ref:`deploy-minio-tenant-redhat-openshift`.
|
|
@ -77,7 +77,12 @@ MinIO is built to deploy anywhere - public or private cloud, baremetal infrastru
|
|||||||
|
|
||||||
.. cond:: openshift
|
.. cond:: openshift
|
||||||
|
|
||||||
This site documents Operations, Administration, and Development of MinIO deployments on OpenShift 4.7+ through the :openshift-docs:`Red Hat® OpenShift® Container Platform 4.7+ <welcome/index.html>` for the latest stable version of the MinIO Operator: |operator-version-stable|.
|
This site documents Operations, Administration, and Development of MinIO deployments on Red Hat Kubernetes distributions for the latest stable version of the MinIO Operator: |operator-version-stable|.
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
|
||||||
|
Support for deploying the MinIO Operator via the RedHat Marketplace or OperatorHub was removed in 2024.
|
||||||
|
|subnet| customers can open an issue for further clarification and instructions on migrating to `AIStor <https://min.io/product/aistor-overview?jmp=docs>`__.
|
||||||
|
|
||||||
.. cond:: eks
|
.. cond:: eks
|
||||||
|
|
||||||
|
@ -19,13 +19,7 @@ Deploy a MinIO Tenant
|
|||||||
:local:
|
:local:
|
||||||
:depth: 1
|
:depth: 1
|
||||||
|
|
||||||
.. cond:: openshift
|
This procedure documents deploying a MinIO Tenant onto a stock Kubernetes cluster using either Kustomize or MinIO's Helm Charts.
|
||||||
|
|
||||||
This procedure documents deploying a MinIO Tenant through OpenShift 4.7+ using the OpenShift Web Console and the MinIO Kubernetes Operator.
|
|
||||||
|
|
||||||
.. cond:: k8s and not openshift
|
|
||||||
|
|
||||||
This procedure documents deploying a MinIO Tenant onto a stock Kubernetes cluster using either Kustomize or MinIO's Helm Charts.
|
|
||||||
|
|
||||||
.. screenshot temporarily removed
|
.. screenshot temporarily removed
|
||||||
|
|
||||||
@ -68,18 +62,6 @@ See :ref:`deploy-operator-kubernetes` for complete documentation on deploying th
|
|||||||
MinIO **strongly recommends** upgrading Kubernetes clusters running with `End-Of-Life API versions <https://kubernetes.io/releases/patch-releases/#non-active-branch-history>`__.
|
MinIO **strongly recommends** upgrading Kubernetes clusters running with `End-Of-Life API versions <https://kubernetes.io/releases/patch-releases/#non-active-branch-history>`__.
|
||||||
|
|
||||||
|
|
||||||
.. cond:: openshift
|
|
||||||
|
|
||||||
OpenShift 4.7+ and ``oc`` CLI Tool
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
This procedure assumes installation of the MinIO Operator using the OpenShift 4.7+ and the OpenShift OperatorHub.
|
|
||||||
|
|
||||||
This procedure assumes your local machine has the OpenShift ``oc`` CLI tool installed and configured for access to the OpenShift Cluster.
|
|
||||||
:openshift-docs:`Download and Install <cli_reference/openshift_cli/getting-started-cli.html>` the OpenShift :abbr:`CLI (command-line interface)` ``oc`` for use in this procedure.
|
|
||||||
|
|
||||||
See :ref:`deploy-operator-openshift` for more complete instructions.
|
|
||||||
|
|
||||||
.. cond:: openshift
|
.. cond:: openshift
|
||||||
|
|
||||||
Check Security Context Constraints
|
Check Security Context Constraints
|
||||||
|
@ -6,10 +6,6 @@
|
|||||||
|
|
||||||
.. include:: /includes/container/installation.rst
|
.. include:: /includes/container/installation.rst
|
||||||
|
|
||||||
.. cond:: openshift
|
|
||||||
|
|
||||||
.. include:: /includes/openshift/deploy-minio-on-openshift.rst
|
|
||||||
|
|
||||||
.. cond:: eks
|
.. cond:: eks
|
||||||
|
|
||||||
.. include:: /includes/eks/deploy-minio-on-elastic-kubernetes-service.rst
|
.. include:: /includes/eks/deploy-minio-on-elastic-kubernetes-service.rst
|
||||||
@ -22,6 +18,6 @@
|
|||||||
|
|
||||||
.. include:: /includes/aks/deploy-minio-on-azure-kubernetes-service.rst
|
.. include:: /includes/aks/deploy-minio-on-azure-kubernetes-service.rst
|
||||||
|
|
||||||
.. cond:: k8s and not (openshift or eks or gke or aks)
|
.. cond:: k8s and not (eks or gke or aks)
|
||||||
|
|
||||||
.. include:: /includes/k8s/deploy-operator.rst
|
.. include:: /includes/k8s/deploy-operator.rst
|
||||||
|
Reference in New Issue
Block a user