NetApp ONTAP iSCSI 配置
要通过 iSCSI 将NetApp ONTAP存储系统与 VMware Tanzu Kubernetes 集群集成以实现持久卷,第一步是通过登录每个节点并配置 iSCSI 实用程序或软件包来挂载 iSCSI 卷,从而准备节点。为此,请按照本"链接"。
|
NetApp不建议对 VMware Tanzu Kubernetes 集群的 NAT 部署使用此过程。 |
|
TKGI 使用 Bosh VM 作为运行不可变配置映像的 Tanzu Kubernetes 集群的节点,并且 Bosh VM 上 iSCSI 包的任何手动更改在重新启动后都不会保留。因此, NetApp建议使用 NFS 卷作为由 TKGI 部署和运营的 Tanzu Kubernetes 集群的持久存储。 |
在集群节点准备好 iSCSI 卷后,您必须创建一个能够与存储系统通信的后端。我们在此解决方案中配置了一个基本的后端,但是,如果您正在寻找更多自定义选项,请访问文档"此处"。
在ONTAP中创建 SVM
要在ONTAP中创建 SVM,请完成以下步骤:
-
登录ONTAP系统管理器,导航到“存储”>“存储虚拟机”,然后单击“添加”。
-
输入 SVM 的名称,启用 iSCSI 协议,然后提供数据 LIF 的详细信息。
-
输入 SVM 管理帐户的详细信息,然后单击“保存”。
-
要将聚合分配给 SVM,请导航到“存储”>“存储虚拟机”,单击新创建的 SVM 旁边的省略号,然后单击“编辑”。选中“限制卷创建到首选本地层”复选框,并将所需的聚合附加到该复选框。
创建后端和存储类
-
对于提供 NFS 服务的NetApp ONTAP系统,请在跳转主机上创建后端配置文件,其中包含 backendName、managementLIF、dataLIF、svm、用户名、密码和其他详细信息。
{ "version": 1, "storageDriverName": "ontap-san", "backendName": "ontap-san+10.61.181.231", "managementLIF": "172.21.224.201", "dataLIF": "10.61.181.231", "svm": "trident_svm_iscsi", "username": "admin", "password": "password" }
-
通过运行以下命令创建Trident后端。
[netapp-user@rhel7 trident-installer]$ ./tridentctl -n trident create backend -f backend-ontap-san.json +------------------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +------------------------+----------------+--------------------------------------+--------+---------+ | ontap-san+10.61.181.231 | ontap-san | 6788533c-7fea-4a35-b797-fb9bb3322b91 | online | 0 | +------------------------+----------------+--------------------------------------+--------+---------+
-
创建后端后,接下来必须创建存储类。以下示例存储类定义突出显示了必需字段和基本字段。参数 `backendType`应该反映新创建的Trident后端的存储驱动程序。还要注意名称字段值,该值必须在后续步骤中引用。
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ontap-iscsi provisioner: csi.trident.netapp.io parameters: backendType: "ontap-san"
有一个可选字段称为 `fsType`这是在这个文件中定义的。在 iSCSI 后端,可以将此值设置为特定的 Linux 文件系统类型(XFS、ext4 等),或者可以删除此值以允许 Tanzu Kubernetes 集群决定使用哪种文件系统。 -
通过运行 kubectl 命令创建存储类。
[netapp-user@rhel7 trident-installer]$ kubectl create -f storage-class-iscsi.yaml storageclass.storage.k8s.io/ontap-iscsi created
-
创建存储类后,您必须创建第一个持久卷声明 (PVC)。下面给出了一个 PVC 定义示例。确保 `storageClassName`字段与刚刚创建的存储类的名称匹配。 PVC 定义可以根据需要配置的工作负载进一步定制。
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: basic spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: ontap-iscsi
-
通过发出 kubectl 命令创建 PVC。创建可能需要一些时间,具体取决于所创建的备份卷的大小,因此您可以在创建完成时观察该过程。
[netapp-user@rhel7 trident-installer]$ kubectl create -f pvc-basic.yaml persistentvolumeclaim/basic created [netapp-user@rhel7 trident-installer]$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE basic Bound pvc-7ceac1ba-0189-43c7-8f98-094719f7956c 1Gi RWO ontap-iscsi 3s