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

在ROSA上使用FSxN部署Red Hat OpenShift虚拟化

贡献者

概述

本节详细介绍了如何将FSx for NetApp ONTAP设置为ROSA集群的默认存储类、然后创建一个虚拟机来将FSx ONTAP存储用于其卷。

我们还将了解如何使用子系统凭据连接到虚拟机并重新启动虚拟机。最后、我们将执行虚拟机从当前节点到新节点的实时迁移。我们将在VM重新启动和实时迁移之后检查磁盘存储的内容。

前提条件

方法1:使用tldentctr工具

使用节点准备标志并安装Trident、如图所示。在发出install命令之前、您应已下载安装程序包。请参阅 "文档"

#./tridentctl install trident -n trident --node-prep=iscsi
YAML

方法2:使用Red Hat认证Trident操作员并自定义从OperatorHub中找到Red Hat认证的Trident操作员并进行安装。

驾驶员在驾驶员轮毂中

安装驾驶员1

安装驾驶员2.

操作员已安装

接下来、创建Trident Orchestrator实例。使用YAML视图设置任何自定义值或在安装期间启用iSCSI节点准备。

创建Orchestrator

启用NodePrep

已安装Orchestrator

已安装Trident

使用上述任一方法安装Trident将为iSCSI准备ROSA集群工作节点、方法是启动iscs-d和multipathd服务并在/etc/multipath.conf文件中设置以下内容

iscsud active

multipathd处于活动状态

多路径.conf文件

初始设置

本节介绍如何设置Trident后端和默认存储类以及默认卷快照类。然后、它会显示如何使用模板创建VM、然后使用子系统凭据连接并登录到该VM。

使用以下命令创建Trident后端对象

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
YAML

您可以通过控制台或命令行将上述创建的存储类和卷Snapshot类设置为默认值

$ oc patch storageclass trident-csi -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
$ oc patch VolumeSnapshotClasses fsx-snapclass -p '{"metadata": {"annotations": {"snapshot.storage.kubernetes.io/is-default-class": "true"}}}'

确保默认存储类设置为TridentOCP-v默认存储类

确保已按所示设置默认的卷Snap肖 特克莱斯OCP-v默认卷快照类

使用模板创建虚拟机

使用Web控制台通过模板创建VM。从AWS控制台上的RedHat OpenShiftService创建虚拟机。集群上提供了一些模板、可用于创建虚拟机。在下面的屏幕截图中、我们从该列表中选择了Fedora VM。为虚拟机命名,然后单击自定义虚拟机。选择磁盘选项卡,然后单击添加磁盘。最好将磁盘名称更改为有意义的名称,确保为存储类选择 Trident-CSI。单击保存。单击创建虚拟机

几分钟后、虚拟机将处于running状态OCP-v使用模板创建VM

OCP-v模板源可用

OCP-v自定义虚拟机

OCP-v磁盘选项卡

ocp-v添加磁盘

OCP-v VM正在运行

查看为虚拟机创建的所有对象

存储磁盘。OCP-v存储磁盘

VM的文件系统将显示分区、文件系统类型和挂载点。OCP-v文件系统

系统会为虚拟机创建2个PVC、一个来自启动磁盘、另一个用于热插拔磁盘。OCP-v虚拟机PVCS

启动磁盘的PVC显示访问模式为ReadReadReadReadRead任意、存储类为Trident - CSI。OCP-v VM启动磁盘PVC

同样、热插拔磁盘的PVC显示、访问模式为ReadReadReadReadWeb、存储类为Trident - CSI。OCP-v VM热插拔磁盘PVC

在下面的屏幕截图中、我们可以看到虚拟机的POD的状态为正在运行。OCP-v VM正在运行

在这里、我们可以看到与VM Pod关联的两个卷以及与其关联的2个PVC。OCP-v虚拟机的PVC和PV

连接到虚拟机

单击‘Open web console’(打开Web控制台)按钮,然后使用来宾凭据登录OCP-v VM连接

OCP-v登录

发出以下命令

$ 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的数据。OCP-v VM填充磁盘

使用vi创建示例文本文件、我们将使用该文件进行测试。ocp-v创建文件

相关博客