文档

在 RedHat OpenShift 上部署 MinIO Operator

概述

Red Hat® OpenShift® 是一个企业级的 Kubernetes 容器平台,具有完整的堆栈自动化操作,用于管理混合云、多云和边缘部署。OpenShift 包括企业级 Linux 操作系统、容器运行时、网络、监控、注册表以及身份验证和授权解决方案。

您可以通过 Red Hat® OpenShift® 容器平台 4.8+ 部署 MinIO Kubernetes Operator。在部署 MinIO Operator 后,您可以通过 OpenShift 部署和管理 MinIO 租户。此过程包括以下部署路径的说明

将 MinIO Operator 部署到 OpenShift 集群后,您可以通过 OperatorHub 用户界面创建和管理 MinIO 租户。

本文档假定您熟悉所有引用的 Kubernetes 和 OpenShift 概念、实用程序和过程。虽然本文档可能提供有关配置或部署 Kubernetes 相关或 OpenShift 相关资源的指导(尽力而为),但它不能替代官方的 Kubernetes 文档OpenShift 容器平台 4.8+ 文档

先决条件

RedHat OpenShift 4.8+

MinIO Kubernetes Operator 从 OpenShift 4.8+ 开始可用。

Red Hat Marketplace 安装需要将 OpenShift 集群注册到 Marketplace,以便获取必要的命名空间。有关完整说明,请参阅 将 OpenShift 集群注册到 Red Hat Marketplace

对于较旧版本的 OpenShift,请使用通用 部署 MinIO Operator 过程。

管理员访问权限

通过 Red Hat Marketplace 和 Operator Hub 安装 Operator 仅限于 OpenShift 集群管理员(cluster-admin 权限)。此过程需要使用具有这些权限的帐户登录 Marketplace 和/或 OpenShift。

OpenShift oc CLI

下载并安装 OpenShift CLI oc 以在此过程中使用。

步骤

1) 访问 MinIO Operator 安装

选择与您首选安装方法相对应的选项卡

以具有 cluster-admin 权限的用户身份登录 OpenShift Web 控制台。

管理员 面板中,选择 Operators,然后选择 OperatorHub

OperatorHub 页面中,在 Filter 文本输入框中输入“MinIO”。从搜索列表中选择 MinIO Operator 磁贴。

From the OperatorHub, search for MinIO, then select the MinIO Tile.

选择 MinIO Operator 磁贴,然后单击 Install 开始安装。

在浏览器中打开 MinIO Red Hat Marketplace 列表。单击 Login 使用您的 Red Hat Marketplace 帐户登录。

登录后,单击 Purchase 为您的帐户购买 MinIO Operator。

完成购买后,从顶部导航栏中单击 Workplace 并选择 My Software

From the Red Hat Marketplace, select Workplace, then My Software

单击 MinIO Hybrid Cloud Object Storage 并选择 Install Operator 以在 OpenShift 中启动 Operator 安装过程。

2) 配置和部署 Operator

Install Operator 页面提供了一个配置 MinIO Operator 安装的分步指南。

Complete the Operator Installation Walkthrough
  • 对于 Update channel,选择任何可用的选项。

  • 对于 Installation Mode,选择 All namespaces on the cluster

  • 对于 Installed Namespace,选择 openshift-operators

  • 对于 Approval Strategy,选择您选择的审批策略。

请参阅 Operator 安装文档 步骤 5,了解每个显示选项的完整描述。

单击 Install 开始安装过程。Web 控制台将显示一个小部件以跟踪安装进度。

Wait for Installation to Complete.

安装完成后,单击 View Operator 查看 MinIO Operator 页面。

3) 配置 TLS 证书

如果您已从 Red Hat OperatorHub 安装了 MinIO Operator,则安装过程还会配置 OpenShift Service CA Operator。此 Operator 管理访问 MinIO 租户所需的 TLS 证书。它会在证书过期前 13 个月自动续订和轮换证书。无需执行其他操作。

对于通过其他方法部署的 Operator 安装,请手动配置 Service CA 证书。有关详细信息,请参阅以下下拉列表。

OpenShift Service CA 证书配置

要手动启用 service-ca Operator 以管理 TLS 证书

  1. 使用以下 oc 命令编辑部署

    oc edit deployment minio-operator  -n minio-operator
    

    如果需要,请将 minio-operator 替换为部署的名称和命名空间。oc edit 在编辑器中打开部署配置文件。

  2. spec 部分,添加突出显示的 MinIO Operator 环境变量

    containers:
    - args:
      - controller
      env:
       - name: MINIO_CONSOLE_TLS_ENABLE
         value: 'on'
       - name: MINIO_OPERATOR_RUNTIME
         value: OpenShift
    
  3. volumes 部分,添加以下卷和卷挂载

    • sts-tls

    • openshift-service-ca

    • openshift-csr-signer-ca

    添加的卷配置类似于以下内容

    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 证书用于 Helm 部署

对于 OpenShift 上的 Helm 部署,请在部署前将以下 环境变量 和卷添加到 Operator Helm 图表中的 values.yaml 中。

operator pod 添加的 YAML 配置类似于以下内容

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) 打开 MinIO Operator 界面

您可以从左侧导航栏的 Operators 标题中找到 MinIO Operator 界面

  1. 转到 Operators,然后转到 Installed Operators

  2. 对于 Project 下拉列表,选择 openshift-operators

  3. 从已安装的 Operator 列表中选择 MinIO OperatorsStatus 列必须显示 Success 才能访问 Operator 界面。

5) 下一步

部署 MinIO Operator 后,您可以创建一个新的 MinIO 租户。要使用 OpenShift 部署 MinIO 租户,请参阅 使用 OpenShift Web 控制台部署租户