Skip to main content
NetApp Solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

安装OpenShift API for Data Protection (OADP) Operator

贡献者

本节概述了OpenShift API for Data Protection (OADP) Operator的安装。

前提条件

  • 一个Red Hat OpenShift集群(版本高于版本发行版次)、安装在具有RHCOS工作节点的裸机基础架构上

  • 使用Trident与集群集成的NetApp ONTAP集群

  • 在 ONTAP 集群上配置了 SVM 的 Trident 后端

  • 在OpenShift集群上配置的一个StorageClass、其中Trident是配置程序

  • 在集群上创建的三项Snapshot类

  • 对 Red Hat OpenShift 集群的集群管理员访问

  • 对 NetApp ONTAP 集群的管理员访问权限

  • 集群上部署的应用程序、例如PostgreSQL

  • 安装了 tridentctl 和 oc 工具并将其添加到 $path 中的管理工作站

安装OADP Operator的步骤

  1. 转到集群的Operator Hub、然后选择Red Hat OADP operator。在安装页面中、使用所有默认选项、然后单击安装。在下一页上、再次使用所有默认值、然后单击安装。OADP操作符将安装在命名空间OpenShift-ADP中。

在Operator Hub中使用OpenShift API进行数据保护

OpenShift API for Data Protection Operator安装

已安装OpenShift API for Data Protection Operator

使用ONTAP S3详细信息配置Velero的前提条件

操作员安装成功后、配置Velero实例。
您可以将Velero配置为使用S3兼容对象存储。按照中所示的过程配置ONTAP S3 "ONTAP文档中的对象存储管理一节"。要与Velero集成,您需要从ONTAP S3配置中获取以下信息。

  • 可用于访问S3的逻辑接口(LIF)

  • 用于访问S3的用户凭据、其中包括访问密钥和机密访问密钥

  • S3中具有用户访问权限的备份的分段名称

  • 为了安全访问对象存储、应在对象存储服务器上安装TLS证书。

使用StorageGRID S3详细信息配置Velero的前提条件

您可以将Velero配置为使用S3兼容对象存储。您可以使用中所示的过程配置StorageGRID S3 "StorageGRID文档"。要与Velero集成,您需要从StorageGRID S3配置中获取以下信息。

  • 可用于访问S3的端点

  • 用于访问S3的用户凭据、其中包括访问密钥和机密访问密钥

  • S3中具有用户访问权限的备份的分段名称

  • 为了安全访问对象存储、应在对象存储服务器上安装TLS证书。

配置Velero的步骤

  • 首先、为ONTAP S3用户凭据或StorageGRID租户用户凭据创建一个密钥。这将用于稍后配置Velero。您可以从命令行界面或Web控制台创建密钥。
    要从Web控制台创建密钥,请选择机密,然后单击密钥/值机密。提供凭据名称、密钥和值的值、如图所示。请务必使用S3用户的访问密钥ID和机密访问密钥。正确命名密钥。在以下示例中、系统会创建一个具有名为ONTAP S3-cred据 的ONTAP S3用户凭据的密钥。

S3用户凭据的机密

为S3用户凭据创建密码

要通过命令行界面创建名为SG-S3-cred据 的机密、您可以使用以下命令。

使用命令行界面为Storage Grid S3用户凭据创建机密

  • 接下来,要配置Velero,请从Operators下的菜单项中选择Installed Operators,单击OADP Operator,然后选择DataSetionApplication选项卡。

DataSetionApplication

单击"Create Data分别 保护应用程序"。在表单视图中、为DataProtection应用程序提供一个名称或使用默认名称。

创建DataSetionApplication

现在转到YAML视图并替换规格信息、如下面的YAML文件示例所示。

用ONTAP S3作为备份位置来配置Velero的YAML文件样本

spec:
  backupLocations:
    - velero:
        config:
          insecureSkipTLSVerify: 'false' ->use this for https communication with ONTAP S3
          profile: default
          region: us-east-1
          s3ForcePathStyle: 'true'  ->This allows use of IP in s3URL
          s3Url: 'https://10.61.181.161' ->Ensure TLS certificate for S3 is configured
        credential:
          key: cloud
          name: ontap-s3-credentials -> previously created secret
        default: true
        objectStorage:
          bucket: velero -> Your bucket name previously created in S3 for backups
          prefix: container-demo-backup ->The folder that will be created in the bucket
          caCert: <base64 encoded CA Certificate installed on ONTAP Cluster with the SVM Scope where the bucker exists>
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      #default Data Mover uses Kopia to move snapshots to Object Storage
    velero:
      defaultPlugins:
        - csi ->This plugin to use CSI snapshots
        - openshift
        - aws
        - kubevirt -> This plugin to use Velero with OIpenShift Virtualization

用StorageGRID S3作为备份位置来配置Velero的YAML文件样本

spec:
  backupLocations:
    - velero:
        config:
          insecureSkipTLSVerify: 'true'
          profile: default
          region: us-east-1 ->region of your StorageGrid system
          s3ForcePathStyle: 'True'
          s3Url: 'https://172.21.254.25:10443' ->the IP used to access S3
        credential:
          key: cloud
          name: sg-s3-credentials ->secret created earlier
        default: true
        objectStorage:
          bucket: velero
          prefix: demobackup
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - csi
        - openshift
        - aws
        - kubevirt

YAML文件中的规范部分应针对与上述示例类似的以下参数进行适当配置

备份位置
ONTAP S3或StorageGRID S3 (及其凭据和YAML中显示的其他信息)被配置为Velero的默认备份位置。

快照位置如果使用容器存储接口(CI)快照,则无需指定快照位置,因为您将创建一个卷快照类CR来注册CSI驱动程序。在本示例中、您使用的是Trident CSI、并且之前已使用Trident CSI驱动程序创建了卷SnapShateClass CR。

启用CSI插件
将CSI添加到Velero的DEDEPTO插 件中、以便使用CSI快照备份永久性卷。
要备份CSI支持的PVC、Velero CSI插件将在设置了Velero.io/CSI-VOumesnAPshot-class标签的集群中选择卷SnapshotClass。。

  • 您必须已创建三端卷SnapshotClass。

  • 编辑trdent-snapshotclass的标签并将其设置为

    • Velero.io/CSI-VOUESNAPECUE-CLASS=TRUE**,如下所示。

三项功能Snapshot类标签

确保即使删除了卷Snapshot对象、这些快照也可以持久保留。这可以通过将*DELERionPolicy*设置为保留来实现。否则、删除命名空间将完全丢失以前备份过的所有PVC。

apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
  name: trident-snapshotclass
driver: csi.trident.netapp.io
deletionPolicy: Retain

应将卷SnapshotClass删除策略设置为保留

确保已创建Data놣 rotionApplication且其状态为"病 况:已调节"。

已创建DataSetionApplication对象

OADP操作员将创建相应的备份存储位置。创建备份时将使用此位置。

已创建备份存储位置