在 ROSA 集群上部署带有 FSx for ONTAP 的Red Hat OpenShift 虚拟化
将Amazon FSx for NetApp ONTAP设置为 ROSA(AWS 上的 Red Hat OpenShift 服务)集群的默认 StorageClass。此过程包括创建利用 FSx ONTAP存储作为其卷的 VM、检查为 VM 创建的所有对象以及使用来宾凭据连接到 VM。
我们还将研究使用来宾凭据连接到虚拟机,并重新启动虚拟机。最后,我们将虚拟机从当前节点实时迁移到新节点。我们将检查虚拟机重启和实时迁移后的磁盘存储内容。
前提条件
-
IAM 用户"具有适当的权限"创建并访问ROSA集群
-
"HCP ROSA 集群"(至少有 3 个裸机工作节点)
-
Trident 25.02 或更高版本 有关上述Trident先决条件,请参阅"Trident安装部分"了解详情。
从Trident 25.02 版本开始,您可以轻松准备 ROSA 集群(或任何 OpenShift 集群)的工作节点以在 FSxN 存储上执行 iSCSI 操作。有两种简单的方法可以安装Trident 25.02(或更高版本),以自动为 iSCSI 准备工作节点。在安装 OpenShift Virtualization 之前,您应该已经创建了 trident 后端、存储类和卷快照类对象并将它们设置为默认值。您可以参考"Trident安装部分"了解详情。
初始设置
设置 trident 后端、存储类和 VolumeSnapshotClass。您可以参考"Trident安装部分"了解详情。
创建 Trident 后端对象的示例 yaml
cat tbc.yaml
apiVersion: v1
kind: Secret
metadata:
name: backend-tbc-ontap-san-secret
type: Opaque
stringData:
username: fsxadmin
password: <password for the fsxN filesystem>
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-ontap-san
spec:
version: 1
storageDriverName: ontap-san
managementLIF: <management lif of fsxN filesystem>
backendName: backend-tbc-ontap-san
svm: svm_FSxNForROSAiSCSI
credentials:
name: backend-tbc-ontap-san-secret
cat sc.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: trident-csi
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san"
media: "ssd"
provisioningType: "thin"
snapshots: "true"
allowVolumeExpansion: true
cat snapshot-class.yaml
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
name: fsx-snapclass
driver: csi.trident.netapp.io
deletionPolicy: Retain
#oc create -f tbc,yaml -n trident
#oc create -f sc.yaml
#oc create -f snapshot-class.yaml
在安装 OpenShift Virtualization 之前,请确保存储类和卷快照类已配置为默认值。有关如何设置默认值的详细信息,您可以参考"使用Trident存储和快照类设置默认值部分"了解详情。
从模板创建虚拟机
使用 Web 控制台从模板创建 VM。从 AWS 控制台上的 RedHat OpenShiftService 创建一个虚拟机。集群上有可用的模板可用于创建虚拟机。在下面的屏幕截图中,我们从这个列表中选择了 fedora VM。为虚拟机命名,然后单击自定义虚拟机。选择磁盘选项卡并单击添加磁盘。最好将磁盘名称更改为有意义的名称,确保选择 trident-csi 作为存储类。点击保存。点击创建虚拟机
几分钟后,虚拟机处于运行状态
检查为虚拟机创建的所有对象
存储磁盘。
VM 的文件系统将显示分区、文件系统类型和挂载点。
为虚拟机创建 2 个 PVC,一个来自启动磁盘,一个来自热插拔磁盘。
启动磁盘的 PVC 显示访问模式为 ReadWriteMany,存储类为 trident-csi。
类似地,热插拔磁盘的 PVC 显示访问模式为 ReadWriteMany,存储类为 trident-csi。
在下面的屏幕截图中,我们可以看到虚拟机的 pod 状态为正在运行。
在这里我们可以看到与 VM pod 关联的两个卷以及与它们关联的 2 个 PVC。
连接到虚拟机
单击“打开 Web 控制台”按钮,然后使用来宾凭证登录
发出以下命令
$ df (to display information about the disk space usage on a file system).
$ dd if=/dev/urandom of=random.dat bs=1M count=10240 (to create a file called random.dat in the home dir and fill it with random data).
磁盘上存有 11 GB 的数据。
使用 vi 创建我们将用于测试的示例文本文件。
相关博客