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

NetApp ONTAP NFS 配置

贡献者 kevin-hoke

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

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

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

    {
        "version": 1,
        "storageDriverName": "ontap-nas",
        "backendName": "ontap-nas+10.61.181.221",
        "managementLIF": "172.21.224.201",
        "dataLIF": "10.61.181.221",
        "svm": "trident_svm",
        "username": "cluster-admin",
        "password": "password"
    }
    备注 最佳做法是将自定义 backendName 值定义为 storageDriverName 和为 NFS 提供服务的 dataLIF 的组合,以便于识别。
  3. 有了这个后端文件,运行以下命令来创建您的第一个后端。

    [ubuntu@gke-admin-ws-2022-05-03 trident-installer]$ ./tridentctl -n trident create backend -f backend-ontap-nas.json
    +-------------------------+----------------+--------------------------------------+--------+---------+
    |          NAME           | STORAGE DRIVER |                 UUID                 | STATE  | VOLUMES |
    +-------------------------+----------------+--------------------------------------+--------+---------+
    | ontap-nas+10.61.181.221 | ontap-nas      | be7a619d-c81d-445c-b80c-5c87a73c5b1e | 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-nas"
    备注 有一个可选字段称为 `fsType`这是在这个文件中定义的。可以在 NFS 后端删除此行。
  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-b4370d37-0fa4-4c17-bd86-94f96c94b42d   1Gi        RWO            basic-csi      7s