Skip to main content
NetApp Solutions

Example Trident Backends for NetApp AIPod Deployments

Contributors kevin-hoke mboglesby

Before you can use Trident to dynamically provision storage resources within your Kubernetes cluster, you must create one or more Trident Backends. The examples that follow represent different types of Backends that you might want to create if you are deploying components of this solution on a NetApp AIPod. For more information about Backends, and for example backends for other platforms/environments, see the Trident documentation.

  1. NetApp recommends creating a FlexGroup-enabled Trident Backend for your AIPod.

    The example commands that follow show the creation of a FlexGroup-enabled Trident Backend for an AIPod storage virtual machine (SVM). This Backend uses the ontap-nas-flexgroup storage driver. ONTAP supports two main data volume types: FlexVol and FlexGroup. FlexVol volumes are size-limited (as of this writing, the maximum size depends on the specific deployment). FlexGroup volumes, on the other hand, can scale linearly to up to 20PB and 400 billion files, providing a single namespace that greatly simplifies data management. Therefore, FlexGroup volumes are optimal for AI and ML workloads that rely on large amounts of data.

    If you are working with a small amount of data and want to use FlexVol volumes instead of FlexGroup volumes, you can create Trident Backends that use the ontap-nas storage driver instead of the ontap-nas-flexgroup storage driver.

    $ cat << EOF > ./trident-backend-aipod-flexgroups-iface1.json
    {
        "version": 1,
        "storageDriverName": "ontap-nas-flexgroup",
        "backendName": "aipod-flexgroups-iface1",
        "managementLIF": "10.61.218.100",
        "dataLIF": "192.168.11.11",
        "svm": "ontapai_nfs",
        "username": "admin",
        "password": "ontapai"
    }
    EOF
    $ tridentctl create backend -f ./trident-backend-aipod-flexgroups-iface1.json -n trident
    +-------------------------+---------------------+--------------------------------------+--------+---------+
    |            NAME         |   STORAGE DRIVER    |                 UUID                 | STATE  | VOLUMES |
    +-------------------------+---------------------+--------------------------------------+--------+---------+
    | aipod-flexgroups-iface1 | ontap-nas-flexgroup | b74cbddb-e0b8-40b7-b263-b6da6dec0bdd | online |       0 |
    +-------------------------+---------------------+--------------------------------------+--------+---------+
    $ tridentctl get backend -n trident
    +-------------------------+---------------------+--------------------------------------+--------+---------+
    |            NAME         |   STORAGE DRIVER    |                 UUID                 | STATE  | VOLUMES |
    +-------------------------+---------------------+--------------------------------------+--------+---------+
    | aipod-flexgroups-iface1 | ontap-nas-flexgroup | b74cbddb-e0b8-40b7-b263-b6da6dec0bdd | online |       0 |
    +-------------------------+---------------------+--------------------------------------+--------+---------+
  2. NetApp also recommends creating a FlexVol- enabled Trident Backend. You may want to use FlexVol volumes for hosting persistent applications, storing results, output, debug information, and so on. If you want to use FlexVol volumes, you must create one or more FlexVol- enabled Trident Backends. The example commands that follow show the creation of a single FlexVol- enabled Trident Backend.

$ cat << EOF > ./trident-backend-aipod-flexvols.json
{
    "version": 1,
    "storageDriverName": "ontap-nas",
    "backendName": "aipod-flexvols",
    "managementLIF": "10.61.218.100",
    "dataLIF": "192.168.11.11",
    "svm": "ontapai_nfs",
    "username": "admin",
    "password": "ontapai"
}
EOF
$ tridentctl create backend -f ./trident-backend-aipod-flexvols.json -n trident
+-------------------------+---------------------+--------------------------------------+--------+---------+
|            NAME         |   STORAGE DRIVER    |                 UUID                 | STATE  | VOLUMES |
+-------------------------+---------------------+--------------------------------------+--------+---------+
| aipod-flexvols          | ontap-nas           | 52bdb3b1-13a5-4513-a9c1-52a69657fabe | online |       0 |
+-------------------------+---------------------+--------------------------------------+--------+---------+
$ tridentctl get backend -n trident
+-------------------------+---------------------+--------------------------------------+--------+---------+
|            NAME         |   STORAGE DRIVER    |                 UUID                 | STATE  | VOLUMES |
+-------------------------+---------------------+--------------------------------------+--------+---------+
| aipod-flexvols          | ontap-nas           | 52bdb3b1-13a5-4513-a9c1-52a69657fabe | online |       0 |
| aipod-flexgroups-iface1 | ontap-nas-flexgroup | b74cbddb-e0b8-40b7-b263-b6da6dec0bdd | online |       0 |
+-------------------------+---------------------+--------------------------------------+--------+---------+