Addresses #1273 # Summary This pass does three things: 1. Updates all tutorials related to Operator/Tenant deployment for Kustomize and Helm 2. Removes references to Operator Console + updates to reference Kustomize/Helm wherever possible 3. Slightly tidies up old or dangling references This pass does not do these things: - Link out heavily to Kubernetes docs (for later) - Clean up organization (singleplat build handles this) - Addresses OpenShift, Rancher, etc. --------- Co-authored-by: Andrea Longo <feorlen@users.noreply.github.com> Co-authored-by: Allan Roger Reid <allanrogerreid@gmail.com> Co-authored-by: Daryl White <53910321+djwfyi@users.noreply.github.com>
		
			
				
	
	
	
		
			12 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Deploy MinIO Operator on RedHat OpenShift
minio
Table of Contents
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 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.
 - Deploy MinIO through the OpenShift OperatorHub
 
After deploying the MinIO Operator into your OpenShift cluster, you
can create and manage MinIO Tenants through the 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 Kubernetes Documentation <> and 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+.
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 for complete instructions.
For older versions of OpenShift, use the generic 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
Download and Install <cli_reference/openshift_cli/getting-started-cli.html>
the OpenShift 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:
Red Hat OperatorHub
Log into the OpenShift Web Console as a user with
cluster-admin privileges.
From the Administrator panel, select Operators, then OperatorHub.
From the OperatorHub page, type "MinIO" into the Filter text entry.
Select the MinIO Operator tile from the search list.
Select the MinIO Operator tile, then click Install to begin the
installation.
Red Hat Marketplace
Open the MinIO
Red Hat Marketplace listing in your browser. Click Login to log in with
your Red Hat Marketplace account.
After logging in, click Purchase to purchase the MinIO Operator for your
account.
After completing the purchase, click Workplace from the top navigation and select
My Software.
Click MinIO Hybrid Cloud Object Storage and select
Install Operator
to start the Operator Installation procedure in OpenShift.
2) Configure and Deploy the Operator
The Install Operator page provides a walkthrough for
configuring the MinIO Operator installation.
- For 
Update channel, select any of the available options. - For 
Installation Mode, selectAll namespaces on the cluster - For 
Installed Namespace, selectopenshift-operators - For 
Approval Strategy, select the approval strategy of your choice. 
See the Operator Installation Documentation <operators/admin/olm-adding-operators-to-cluster.html#olm-installing-from-operatorhub-using-web-console_olm-adding-operators-to-a-cluster>
Step 5 for
complete descriptions of each displayed option.
Click Install
to start the installation procedure. The web console displays a widget
for tracking the installation progress.
Once installation completes, click 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 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
Service CA certificates <security/certificate_types_descriptions/service-ca-certificates.html>
manually. See the dropdowns below for details.
OpenShift Service CA Certificate configuration
To manually enable the service-ca Operator to manage TLS
certificates:
Use the following
oc <cli_reference/openshift_cli/getting-started-cli.html>command to edit the deployment:oc edit deployment minio-operator -n minio-operatorIf needed, replace
minio-operatorwith the name and namespace of your deployment.oc editopens the deployment configuration file in an editor.In the
specsection, add the highlighted MinIO Operatorenvironment variables <minio-server-environment-variables>:containers: - args: - controller env: - name: MINIO_CONSOLE_TLS_ENABLE value: 'on' - name: MINIO_OPERATOR_RUNTIME value: OpenShiftIn the
volumessection, add the following volumes and volume mounts:sts-tlsopenshift-service-caopenshift-csr-signer-ca
The added volume configuration resembles the following:
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
OpenShift Service CA Certificate for Helm deployments
For Helm deployments on OpenShift, add the following 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:
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 Operators left-hand
navigation header
- Go to 
Operators, thenInstalled Operators. - For the 
Projectdropdown, selectopenshift-operators. - Select 
MinIO Operatorsfrom the list of installed operators. TheStatuscolumn must readSuccessto 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 deploy-minio-tenant-redhat-openshift.



