安装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 集群的管理员访问权限
-
已安装并配置OpenShift虚拟化操作员
-
部署在OpenShift虚拟化上的命名空间中的VM
-
安装了 tridentctl 和 oc 工具并将其添加到 $path 中的管理工作站
如果要在VM处于running状态时为其创建备份、则必须在该虚拟机上安装QEMu子代理。如果使用现有模板安装VM、则会自动安装QEMU代理。通过QEMu、子代理可以在快照过程中将子操作系统中的传输中数据置于静机状态、并避免可能发生的数据损坏。如果未安装QEMu、则可以先停止虚拟机、然后再创建备份。 |
安装OADP Operator的步骤
-
转到集群的Operator Hub、然后选择Red Hat OADP operator。在安装页面中、使用所有默认选项、然后单击安装。在下一页上、再次使用所有默认值、然后单击安装。OADP操作符将安装在命名空间OpenShift-ADP中。
使用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用户凭据的密钥。
要通过命令行界面创建名为SG-S3-cred据 的机密、您可以使用以下命令。
-
接下来,要配置Velero,请从Operators下的菜单项中选择Installed Operators,单击OADP Operator,然后选择Data分别 保护应用程序选项卡。
单击"Create Data分别 保护应用程序"。在表单视图中、为DataProtection应用程序提供一个名称或使用默认名称。
现在转到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.xx.xx.xx' ->LIF to access S3. 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: demobackup ->The folder that will be created in the bucket provider: aws configuration: nodeAgent: enable: true uploaderType: kopia #default Data Mover uses Kopia to move snapshots to Object Storage velero: defaultPlugins: - csi ->Add this plugin - openshift - aws - kubevirt ->Add this plugin
用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对象、这些快照也可以持久保留。这可以通过将*DELERionPolicy*设置为保留来实现。否则、删除命名空间将完全丢失以前备份过的所有PVC。
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: trident-snapshotclass driver: csi.trident.netapp.io deletionPolicy: Retain
确保已创建Data놣 rotionApplication且其状态为"病 况:已调节"。
OADP操作员将创建相应的备份存储位置。创建备份时将使用此位置。