Using Cloud Volumes ONTAP as persistent storage for Kubernetes Edit on GitHub Request doc changes

Contributors netapp-bcammett

Cloud Manager can automate the deployment of NetApp Trident on Kubernetes clusters so you can use Cloud Volumes ONTAP as persistent storage for containers. Getting started includes a few steps.

If you deploy Kubernetes clusters using the NetApp Kubernetes Service, Cloud Manager can automatically discover the clusters from your NetApp Cloud Central account. If that’s the case, skip the first two steps and start with step 3.

Number 1 Verify network connectivity

  1. A network connection must be available between Cloud Manager and the Kubernetes clusters, and from the Kubernetes clusters to Cloud Volumes ONTAP systems.

  2. Cloud Manager needs an outbound internet connection to access the following endpoints when installing Trident:

    https://packages.cloud.google.com/yum
    https://github.com/NetApp/trident/releases/download/

    Cloud Manager installs Trident on a Kubernetes cluster when you connect a working environment to the cluster.

Number 2 Upload Kubernetes configuration files to Cloud Manager

For each Kubernetes cluster, the Cloud Manager Admin needs to upload a configuration file (kubeconfig) that is in YAML format. After you upload the file, Cloud Manager verifies connectivity to the cluster and saves an encrypted copy of the kubeconfig file.

Click Kubernetes Clusters > Discover > Upload File and select the kubeconfig file.

sdf

Number 3 Connect your working environments to Kubernetes clusters

From the working environment, click the Kubernetes icon and follow the prompts. You can connect different clusters to different Cloud Volumes ONTAP systems and multiple clusters to the same Cloud Volumes ONTAP system.

You have the option to set the NetApp storage class as the default storage class for the Kubernetes cluster. When a user creates a persistent volume, the Kubernetes cluster can use connected Cloud Volumes ONTAP systems as the backend storage by default.

sdf

Number 4 Start provisioning Persistent Volumes

Request and manage Persistent Volumes using native Kubernetes interfaces and constructs. Cloud Manager creates two Kubernetes storage classes that you can use when provisioning Persistent Volumes:

  • netapp-file: for binding Persistent Volumes to single-node Cloud Volumes ONTAP systems

  • netapp-file-redundant: for binding Persistent Volumes to Cloud Volumes ONTAP HA pairs

Cloud Manager configures Trident to use the following provisioning options by default:

  • Thin volumes

  • The default Snapshot policy

  • Accessible Snapshot directory

What are the trident_trident volumes?

Cloud Manager creates a volume on the first Cloud Volumes ONTAP system that you connect to a Kubernetes cluster. The name of the volume is appended with "_trident_trident." Cloud Volumes ONTAP systems use this volume to connect to the Kubernetes cluster. You should not delete these volumes.

What happens when you disconnect or remove a Kubernetes cluster?

Cloud Manager enables you to disconnect individual Cloud Volumes ONTAP systems from a Kubernetes cluster. When you disconnect a system, you can no longer use that Cloud Volumes ONTAP system as persistent storage for containers. Existing Persistent Volumes are not deleted.

After you disconnect all systems from a Kubernetes cluster, you can also remove the entire Kubernetes configuration from Cloud Manager. Cloud Manager does not uninstall Trident when you remove the cluster and it does not delete any Persistent Volumes.

Both of these actions are available through APIs only. We plan to add the actions to the interface in a future release.
Click here for details about the APIs.