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

NetApp ONTAP iSCSI 配置

贡献者 kevin-hoke

要实现Trident与NetApp ONTAP存储系统的集成,您必须创建一个能够与存储系统通信的后端。

  1. 下载的安装档案中提供了示例后端文件 `sample-input`文件夹层次结构。对于服务于 iSCSI 的NetApp ONTAP系统,复制 `backend-ontap-san.json`文件到您的工作目录并编辑该文件。

    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ cp sample-input/backends-samples/ontap-san/backend-ontap-san.json ./
    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ vi backend-ontap-san.json
  2. 编辑此文件中的 managementLIF、dataLIF、svm、用户名和密码值。

    {
      "version": 1,
      "storageDriverName": "ontap-san",
      "managementLIF": "172.21.224.201",
      "dataLIF": "10.61.181.240",
      "svm": "trident_svm",
      "username": "admin",
      "password": "password"
    }
  3. 有了这个后端文件,运行以下命令来创建您的第一个后端。

    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ ./tridentctl -n trident create backend -f backend-ontap-san.json
    +------------------------+----------------+--------------------------------------+--------+---------+
    |          NAME          | STORAGE DRIVER |                 UUID                 | STATE  | VOLUMES |
    +------------------------+----------------+--------------------------------------+--------+---------+
    | ontapsan_10.61.181.241 | ontap-san      | 6788533c-7fea-4a35-b797-fb9bb3322b91 | online |       0 |
    +------------------------+----------------+--------------------------------------+--------+---------+
  4. 创建后端后,接下来必须创建存储类。与后端一样,有一个示例存储类文件,可以根据 sample-inputs 文件夹中提供的环境进行编辑。将其复制到工作目录并进行必要的编辑以反映创建的后端。

    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ cp sample-input/storage-class-samples/storage-class-csi.yaml.templ ./storage-class-basic.yaml
    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ vi storage-class-basic.yaml
  5. 对此文件唯一需要做的编辑是定义 `backendType`将值设置为新创建的后端的存储驱动程序的名称。还要注意名称字段值,该值必须在后续步骤中引用。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: basic-csi
    provisioner: csi.trident.netapp.io
    parameters:
      backendType: "ontap-san"
    备注 有一个可选字段称为 `fsType`这是在这个文件中定义的。在 iSCSI 后端,可以将此值设置为特定的 Linux 文件系统类型(XFS、ext4 等),也可以将其删除以允许工作节点操作系统决定使用哪个文件系统。
  6. 运行 `kubectl`命令来创建存储类。

    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ kubectl create -f storage-class-basic.yaml
    storageclass.storage.k8s.io/basic-csi created
  7. 创建存储类后,您必须创建第一个持久卷声明 (PVC)。有一个示例 `pvc-basic.yaml`也可用于执行位于 sample-inputs 中的此操作的文件。

    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ cp sample-input/pvc-samples/pvc-basic.yaml ./
    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ vi pvc-basic.yaml
  8. 对此文件唯一需要做的编辑是确保 `storageClassName`字段与刚刚创建的字段匹配。 PVC 定义可以根据要配置的工作负载的需要进一步定制。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: basic
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: basic-csi
  9. 通过发出 `kubectl`命令。创建可能需要一些时间,具体取决于所创建的备份卷的大小,因此您可以在创建完成时观察该过程。

    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ kubectl create -f pvc-basic.yaml
    persistentvolumeclaim/basic created
    
    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ kubectl get pvc
    NAME    STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    basic   Bound    pvc-7ceac1ba-0189-43c7-8f98-094719f7956c   1Gi        RWO            basic-csi      3s