使用 Amazon Web Services 部署 OpenShift Data Foundation

Red Hat OpenShift Data Foundation 4.9

有关使用 Amazon Web Services 进行云存储部署 OpenShift Data Foundation 的说明

摘要

请阅读本文档,了解如何使用 Red Hat OpenShift Container Platform 在 Amazon Web Services 上安装 Red Hat OpenShift Data Foundation。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

对红帽文档提供反馈

我们感谢您对文档提供反馈信息。请告诉我们如何让它更好。提供反馈:

  • 关于特定内容的简单评论:

    1. 请确定您使用 Multi-page HTML 格式查看文档。另外,确定 Feedback 按钮出现在文档页的右上方。
    2. 用鼠标指针高亮显示您想评论的文本部分。
    3. 点在高亮文本上弹出的 Add Feedback
    4. 按照显示的步骤操作。
  • 要提交更复杂的反馈,请创建一个 Bugzilla ticket:

    1. 进入 Bugzilla 网站。
    2. Component 部分中,选择 文档
    3. Description 中输入您要提供的信息。包括文档相关部分的链接。
    4. Submit Bug

前言

Red Hat OpenShift Data Foundation 4.9 支持在连接或断开连接的环境中的现有 Red Hat OpenShift Container Platform(RHOCP)AWS 集群上进行部署,并为代理环境提供现成支持。

注意

AWS 上仅支持内部 OpenShift Data Foundation 集群。如需有关部署要求的更多信息,请参阅规划部署准备部署 OpenShift Data Foundation

要部署 OpenShift Data Foundation,请从准备部署 OpenShift Data Foundation 章节的要求开始,并根据您的要求遵循适当的部署流程:

第 1 章 准备部署 OpenShift 数据基础

使用动态存储设备在 OpenShift Container Platform 上部署 OpenShift Data Foundation 为您提供创建内部集群资源的选项。

在开始部署 Red Hat OpenShift Data Foundation 前,请按照以下步骤执行:

  1. 对于用于 worker 节点的基于 Red Hat Enterprise Linux 的主机,为基于 Red Hat Enterprise Linux 的节点上的容器启用文件系统访问。

    注意

    对于 Red Hat Enterprise Linux CoreOS (RHCOS) 可以跳过此步骤。

  2. 可选:如果要使用外部密钥管理系统(KMS)启用集群范围加密:

  3. 最低的启动节点要求 [技术预览]

    当不符合标准部署资源要求时,将使用最低配置部署 OpenShift Data Foundation 集群。请参阅规划指南中的资源要求部分。

  4. Regional-DR 要求 [开发人员预览]

    Red Hat OpenShift Data Foundation 支持的灾难恢复功能需要满足以下所有先决条件,才能成功实施灾难恢复解决方案:

    有关详细要求,请参阅 Regional-DR 要求RHACM 要求

1.1. 为基于 Red Hat Enterprise Linux 的节点上的容器启用文件系统访问

在用户置备的基础架构 (UPI) 的 Red Hat Enterprise Linux 基础上使用 worker 节点部署 OpenShift Data Foundation 不会自动提供对底层 Ceph 文件系统的容器访问。

注意

对于基于 Red Hat Enterprise Linux CoreOS (RHCOS) 的主机,跳过这一步。

流程

  1. 登录基于 Red Hat Enterprise Linux 的节点并打开一个终端。
  2. 对于集群中的每个节点:

    1. 验证节点有权访问 rhel-7-server-extras-rpms 存储库。

      # subscription-manager repos --list-enabled | grep rhel-7-server

      如果您没有在输出中看到 rhel-7-server-rpmsrhel-7-server-extras-rpms,或者没有输出,请运行以下命令来启用相关的存储库:

      # subscription-manager repos --enable=rhel-7-server-rpms
      # subscription-manager repos --enable=rhel-7-server-extras-rpms
    2. 安装所需的软件包。

      # yum install -y policycoreutils container-selinux
    3. 在 SELinux 中永久启用 Ceph 文件系统的容器使用。

      # setsebool -P container_use_cephfs on

1.2. 在 Vault 中启用键值后端路径和策略

先决条件

  • 管理员对 Vault 的访问权限。
  • 仔细选择唯一路径名称作为遵循命名惯例的后端路径,因为它无法在以后更改。

流程

  1. 在 Vault 中启用 Key/Value(KV)后端路径。

    对于 Vault KV secret 引擎 API,版本 1:

    $ vault secrets enable -path=odf kv

    对于 Vault KV secret 引擎 API,版本 2:

    $ vault secrets enable -path=odf kv-v2
  2. 使用以下命令,创建一个策略来限制用户对机密执行写入或删除操作。

    echo '
    path "odf/*" {
      capabilities = ["create", "read", "update", "delete", "list"]
    }
    path "sys/mounts" {
    capabilities = ["read"]
    }'| vault policy write odf -
  3. 创建与上述策略匹配的令牌。

    $ vault token create -policy=odf -format json

第 2 章 使用动态存储设备部署 OpenShift Data Foundation

您可以使用 Amazon Web Services(AWS)EBS(类型,gp2)提供的动态存储设备在 OpenShift Container Platform 上部署 OpenShift Data Foundation,为您提供创建内部集群资源的选项。这会导致在内部置备基础服务,这有助于为应用提供额外的存储类。

另外,可以使用 OpenShift Data Foundation 仅部署多云对象网关(MCG)组件。如需更多信息,请参阅 部署独立多云对象网关

注意

AWS 上仅支持内部 OpenShift Data Foundation 集群。如需有关部署要求的更多信息,请参阅规划部署

另外,确保已满足 准备部署 OpenShift Data Foundation 章节的要求,然后按照以下步骤使用动态存储设备进行部署:

2.1. 安装 Red Hat OpenShift Data Foundation Operator

您可以使用 Red Hat OpenShift Container Platform Operator Hub 安装 Red Hat OpenShift Data Foundation Operator。

先决条件

  • 使用具有 cluster-admin 和 Operator 安装权限的账户访问 OpenShift Container Platform 集群。
  • 您必须在 Red Hat OpenShift Container Platform 集群中至少有三个 worker 节点。
  • 有关其他资源要求,请参阅规划您的部署指南。
重要
  • 当您需要覆盖 OpenShift Data Foundation 的集群范围默认节点选择器时,您可以在命令行界面中使用以下命令为 openshift-storage 命名空间指定空白节点选择器(在这种情况下创建 openshift-storage 命名空间):

    $ oc annotate namespace openshift-storage openshift.io/node-selector=
  • 将节点作为 infra 污点,以确保只在该节点上调度 Red Hat OpenShift Data Foundation 资源。这有助于您节省订阅成本。如需更多信息,请参阅管理和分配存储资源指南中的如何将专用 worker 节点用于 Red Hat OpenShift Data Foundation 章节。

流程

  1. 登录 OpenShift Web 控制台。
  2. Operators → OperatorHub
  3. Filter by keyword 框中滚动或键入 OpenShift Data Foundation,以查找 OpenShift Data Foundation Operator。
  4. Install
  5. Install Operator 页面中设置以下选项:

    1. 更新频道是 stable-4.9
    2. 安装模式是 A specific namespace on the cluster
    3. Installed Namespace 为 Operator recommended namespace openshift-storage。如果命名空间 openshift-storage 不存在,它会在 Operator 安装过程中创建。
    4. 将 Approval Strategy 选为 AutomaticManual

      如果选择 Automatic 更新,Operator Lifecycle Manager(OLM)将自动升级 Operator 的运行实例,而无需任何干预。

      如果选择 手动 更新,则 OLM 会创建一个更新请求。作为集群管理员,您必须手动批准该更新请求,才能将 Operator 更新至更新的版本。

    5. 确保为 Console 插件 选择了 Enable 选项。
    6. Install
注意

我们建议使用所有默认设置。更改可能会导致意外行为。仅在您意识到其结果时进行修改。

验证步骤

  • 验证 OpenShift Data Foundation Operator 是否显示绿色勾号(代表安装成功)。
  • 成功安装 Operator 后,用户界面中会显示一个带有 Web console update is available 信息的弹出窗口。点这个弹出窗口中的 Refresh web console 来反映控制台的更改。

    • 在 Web 控制台中,导航到 Operators,并验证 OpenShift Data Foundation 是否可用。
重要

如果在安装 OpenShift Data Foundation Operator 后,不能自动启用 console plugin 选项,则需要启用它。

有关如何启用 console 插件的更多信息,请参阅启用 Red Hat OpenShift Data Foundation 控制台插件

2.2. 创建 OpenShift Data Foundation 集群

安装 OpenShift Data Foundation 操作器(operator)后,创建 OpenShift Data Foundation。

先决条件

流程

  1. 在 OpenShift Web 控制台中,点 Operators → Installed Operators 查看所有已安装的 Operator。

    确保所选 项目openshift-storage

  2. OpenShift Data Foundation 操作器,然后单击 Create StorageSystem
  3. Backing storage 页面中,选择以下内容:

    1. 选择 Use a existing StorageClass 选项。
    2. 选择 Storage Class

      默认情况下,它被设置为 gp2

    3. 展开 Advanced,为 Deployment type 选项选择 Full Deployment
    4. Next
  4. Capacity and nodes 页面中,提供必要的信息:

    1. 从下拉列表中选择 Requested Capacity 的值。默认设置为 2 TiB

      注意

      选择初始存储容量后,集群扩展将使用所选的可用容量(原始存储的三倍)执行。

    2. Select Nodes 部分中,选择至少三个可用节点。

      对于具有多个可用区的云平台,请确保节点分布在不同的位置/可用性区域。

      如果选择的节点与 OpenShift Data Foundation 的一个聚合的 30 个 CPU 和 72 GiB RAM 的要求不匹配,则会部署一个最小的集群。如需最低起始节点要求,请参阅 规划指南中的资源要求部分。

    3. Next
  5. 可选:在 Security and network 页面中,根据您的要求进行配置:

    1. 若要启用加密,可选择为块存储和文件存储启用数据加密。
    2. 选择一个或多个加密级别:

      • 集群范围的加密

        加密整个集群(块和文件)。

      • StorageClass 加密

        使用启用加密的存储类创建加密的持久性卷(仅块)。

    3. 选择 Connect to an external key management service 复选框。这是集群范围加密的可选选项。

      1. 默认情况下,Key Management Service Provider 设置为 Vault
      2. 输入 Vault Service Name、Vault 服务器的主机地址 ('https://<hostname 或 ip>')、端口号和 Token
      3. 展开 Advanced Settings,以根据您的 Vault 配置输入其他设置和证书详情。

        1. 后端路径中输入为 OpenShift Data Foundation 专用且唯一的 Key Value secret 路径。
        2. 可选:输入 TLS Server NameVault Enterprise Namespace
        3. 上传对应的 PEM 编码证书文件,以提供 CA 证书客户端证书客户端私钥
        4. 点击 Save
    4. Next
  6. Review and create 页面中,检查配置详情。

    若要修改任何配置设置,请单击 Back

  7. 单击 Create StorageSystem

验证步骤

  • 验证已安装存储集群的最终状态:

    1. 在 OpenShift Web 控制台中,导航到 Installed OperatorsOpenShift Data FoundationStorage Systemocs-storagecluster-storagesystemResources
    2. 验证 StorageClusterStatus 是否为 Ready,并且旁边有一个绿色勾号标记。

      1. 要验证 OpenShift 数据基础的所有组件是否已成功安装,请参阅验证您的 OpenShift Data Foundation 部署

其它资源

要启用 Overprovision Control 警报,请参阅 Monitoring 中的 Alerts 指南。

2.3. 验证 OpenShift Data Foundation

验证 OpenShift Data Foundation 是否已正确部署:

2.3.1. 验证 pod 的状态

流程

  1. 从 OpenShift Web 控制台点 Workloads → Pods
  2. Project 下拉列表中选择 openshift-storage

    注意

    如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

    有关每个组件预期的 pod 数量及其变化取决于节点数量的更多信息,请参阅 表 2.1 “对应 OpenShift Data Foundation 集群的 Pod”

  3. RunningCompleted 标签页验证以下 pod 是否处于 RunningCompleted 状态:

    表 2.1. 对应 OpenShift Data Foundation 集群的 Pod

    组件对应的 pod

    OpenShift Data Foundation Operator

    • OCS-operator-*(在任何 worker 节点上有 1 个 pod)
    • ocS-metrics-exporter-*(任何 worker 节点上 1 个 pod)
    • odF-operator-controller-manager-*(任何 worker 节点上 1 个 pod)
    • odf-console-* (任何 worker 节点上 1 个 pod)

    Rook-ceph Operator

    rook-ceph-operator-*

    (任何 worker 节点上有 1 个 pod)

    多云对象网关

    • noobaa-operator-* (任何 worker 节点上 1 个 pod)
    • noobaa-core-* (任何存储节点上 1 个 pod)
    • noobaa-db-pg-* (任何存储节点上 1 个 pod)
    • noobaa-endpoint-* (任何存储节点上 1 个 pod)

    MON

    rook-ceph-mon-*

    (在存储节点间分布 3 个 pod)

    MGR

    rook-ceph-mgr-*

    (任何存储节点上的 1 个 pod)

    MDS

    rook-ceph-mds-ocs-storagecluster-cephfilesystem-*

    (2 个 pod 在存储节点间分布)

    CSI

    • cephfs

      • csi-cephfsplugin-* (每个 worker 节点上 1 个 pod)
      • csi-cephfsplugin-provisioner-* (2 个 pod 在不同的 worker 节点上分布)
    • rbd

      • csi-rbdplugin-* (每个 worker 节点上 1 个 pod)
      • csi-rbdplugin-provisioner-* (2 个 pod 在不同的 worker 节点上分步)

    rook-ceph-crashcollector

    rook-ceph-crashcollector-*

    (每个存储节点上 1 个 pod)

    OSD

    • rook-ceph-osd-* (每个设备 1 个 pod)
    • rook-ceph-osd-prepare-ocs-deviceset-* (每个设备 1 个 pod)

2.3.2. 验证 OpenShift Data Foundation 集群是否健康

流程

  1. 在 OpenShift Web 控制台中,点 StorageOpenShift Data Foundation
  2. Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
  3. Block and File 选项卡的 Status 卡中,验证 Storage Cluster 是否具有绿色勾号。
  4. Details 卡中,验证是否显示集群信息。

如需有关使用 Block and File 仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅 监控 OpenShift Data Foundation

2.3.3. 验证 Multicloud 对象网关是否健康

流程

  1. 在 OpenShift Web 控制台中,点 StorageOpenShift Data Foundation
  2. Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。

    1. Object 选项卡的 Status 卡 中,验证 Object Service数据弹性 都具有绿色勾号。
    2. Details 卡中,验证是否显示了 MCG 信息。

如需有关使用对象服务仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅监控 OpenShift Data Foundation

2.3.4. 验证 OpenShift Data Foundation 特定的存储类是否存在

流程

  1. 从 OpenShift Web 控制台左侧窗格中,点击 Storage → Storage Classes
  2. 验证是否在创建 OpenShift Data Foundation 集群时创建了以下存储类:

    • ocs-storagecluster-ceph-rbd
    • ocs-storagecluster-cephfs
    • openshift-storage.noobaa.io

第 3 章 部署独立多云对象网关

仅通过 OpenShift Data Foundation 部署多云对象网关组件可为部署提供灵活性,并有助于减少资源消耗。使用这个部分来只部署独立 Multicloud 对象网关组件,它涉及以下步骤:

  • 安装 Red Hat OpenShift Data Foundation Operator
  • 创建独立多云对象网关

3.1. 安装 Red Hat OpenShift Data Foundation Operator

您可以使用 Red Hat OpenShift Container Platform Operator Hub 安装 Red Hat OpenShift Data Foundation Operator。

先决条件

  • 使用具有 cluster-admin 和 Operator 安装权限的账户访问 OpenShift Container Platform 集群。
  • 您必须在 Red Hat OpenShift Container Platform 集群中至少有三个 worker 节点。
  • 有关其他资源要求,请参阅规划您的部署指南。
重要
  • 当您需要覆盖 OpenShift Data Foundation 的集群范围默认节点选择器时,您可以在命令行界面中使用以下命令为 openshift-storage 命名空间指定空白节点选择器(在这种情况下创建 openshift-storage 命名空间):

    $ oc annotate namespace openshift-storage openshift.io/node-selector=
  • 将节点作为 infra 污点,以确保只在该节点上调度 Red Hat OpenShift Data Foundation 资源。这有助于您节省订阅成本。如需更多信息,请参阅管理和分配存储资源指南中的如何将专用 worker 节点用于 Red Hat OpenShift Data Foundation 章节。

流程

  1. 登录 OpenShift Web 控制台。
  2. Operators → OperatorHub
  3. Filter by keyword 框中滚动或键入 OpenShift Data Foundation,以查找 OpenShift Data Foundation Operator。
  4. Install
  5. Install Operator 页面中设置以下选项:

    1. 更新频道是 stable-4.9
    2. 安装模式是 A specific namespace on the cluster
    3. Installed Namespace 为 Operator recommended namespace openshift-storage。如果命名空间 openshift-storage 不存在,它会在 Operator 安装过程中创建。
    4. 将 Approval Strategy 选为 AutomaticManual

      如果选择 Automatic 更新,Operator Lifecycle Manager(OLM)将自动升级 Operator 的运行实例,而无需任何干预。

      如果选择 手动 更新,则 OLM 会创建一个更新请求。作为集群管理员,您必须手动批准该更新请求,才能将 Operator 更新至更新的版本。

    5. 确保为 Console 插件 选择了 Enable 选项。
    6. Install
注意

我们建议使用所有默认设置。更改可能会导致意外行为。仅在您意识到其结果时进行修改。

验证步骤

  • 验证 OpenShift Data Foundation Operator 是否显示绿色勾号(代表安装成功)。
  • 成功安装 Operator 后,用户界面中会显示一个带有 Web console update is available 信息的弹出窗口。点这个弹出窗口中的 Refresh web console 来反映控制台的更改。

    • 在 Web 控制台中,导航到 Operators,并验证 OpenShift Data Foundation 是否可用。
重要

如果在安装 OpenShift Data Foundation Operator 后,不能自动启用 console plugin 选项,则需要启用它。

有关如何启用 console 插件的更多信息,请参阅启用 Red Hat OpenShift Data Foundation 控制台插件

3.2. 创建独立多云对象网关

使用本节来仅创建带有 OpenShift Data Foundation 的 Multicloud 对象网关组件。

先决条件

  • 确保已安装 OpenShift Data Foundation Operator。
  • (用于仅使用本地存储设备进行部署)确保安装了 Local Storage Operator。
  • 确保您有一个存储类,并被设置为默认值。

流程

  1. 在 OpenShift Web 控制台中,点 OperatorsInstalled Operators 查看所有已安装的 Operator。

    确保所选项目为 openshift-storage

  2. 单击 OpenShift Data Foundation operator,然后单击 Create StorageSystem
  3. Backing storage 页面中,展开 Advanced
  4. Deployment 类型选择 Multicloud Object Gateway
  5. Next
  6. 可选:在 Security 页面中,选择连接到外部密钥管理服务

    1. 默认情况下,Key Management Service Provider 设置为 Vault
    2. 输入 Vault Service Name、Vault 服务器的主机地址 ('https://<hostname 或 ip>')、端口号Token
    3. 展开 Advanced Settings,以根据您的 Vault 配置输入其他设置和证书详情。

      1. 后端路径中输入为 OpenShift Data Foundation 专用且唯一的 Key Value secret 路径。
      2. 可选:输入 TLS Server NameVault Enterprise Namespace
      3. 上传对应的 PEM 编码证书文件,以提供 CA 证书客户端证书客户端私钥
      4. 点击 Save
    4. Next
  7. Review and create 页面中,查看配置详情:

    若要修改任何配置设置,请单击 Back

  8. 单击 Create StorageSystem

验证步骤

验证 OpenShift Data Foundation 集群是否健康
  1. 在 OpenShift Web 控制台中,点 StorageOpenShift Data Foundation
  2. Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。

    1. Object 选项卡的 Status 卡 中,验证 Object Service数据弹性 都具有绿色勾号。
    2. Details 卡中,验证是否显示了 MCG 信息。
验证 pod 的状态
  1. 从 OpenShift Web 控制台点 WorkloadsPods
  2. Project 下拉列表中选择 openshift-storage,再验证以下 pod 处于 Running 状态。

    注意

    如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

    组件对应的 pod

    OpenShift Data Foundation Operator

    • OCS-operator-*(在任何 worker 节点上有 1 个 pod)
    • ocS-metrics-exporter-*(任何 worker 节点上 1 个 pod)
    • odF-operator-controller-manager-*(任何 worker 节点上 1 个 pod)
    • odf-console-* (任何 worker 节点上 1 个 pod)

    Rook-ceph Operator

    rook-ceph-operator-*

    (任何 worker 节点上有 1 个 pod)

    多云对象网关

    • noobaa-operator-* (任何 worker 节点上 1 个 pod)
    • noobaa-core-*(任何 worker 节点上有 1 个 pod)
    • noobaa-db-pg-*(任何 worker 节点上有 1 个 pod)
    • noobaa-endpoint-*( 任何 worker 节点上有 1 个 pod)

第 4 章 卸载 OpenShift Data Foundation

4.1. 以内部模式卸载 OpenShift Data Foundation

要以内部模式卸载 OpenShift Data Foundation,请参阅 有关卸载 OpenShift Data Foundation 的知识库文章