Skip to main content

Trident architecture

Contributors juliantap netapp-aruldeepa

Trident runs as a single Controller Pod plus a Node Pod on each worker node in the cluster. The node pod must be running on any host where you want to potentially mount a Trident volume.

Understanding controller pods and node pods

Trident deploys as a single Trident Controller Pod and one or more Trident Node Pods on the Kubernetes cluster and uses standard Kubernetes CSI Sidecar Containers to simplify the deployment of CSI plugins. Kubernetes CSI Sidecar Containers are maintained by the Kubernetes Storage community.

Kubernetes node selectors and tolerations and taints are used to constrain a pod to run on a specific or preferred node. You can configure node selectors and tolerations for controller and node pods during Trident installation.

  • The controller plugin handles volume provisioning and management, such as snapshots and resizing.

  • The node plugin handles attaching the storage to the node.

Diagram of the Trident  architecture on the Kubernetes cluster.
Figure 1. Trident deployed on the Kubernetes cluster

Trident Controller Pod

The Trident Controller Pod is a single Pod running the CSI Controller plugin.

  • Responsible for provisioning and managing volumes in NetApp storage

  • Managed by a Kubernetes Deployment

  • Can run on the control-plane or worker nodes, depending on installation parameters.

Diagram of the Trident Controller Pod running the CSI Controller plugin with applicable CSI sidecars.
Figure 2. Trident Controller Pod diagram

Trident Node Pods

Trident Node Pods are privileged Pods running the CSI Node plugin.

  • Responsible for mounting and unmounting storage for Pods running on the host

  • Managed by a Kubernetes DaemonSet

  • Must run on any node that will mount NetApp storage

Diagram of the Trident Node Pod running the CSI Node plugin with applicable CSI sidecar.
Figure 3. Trident Node Pod diagram

Supported Kubernetes cluster architectures

Trident is supported with the following Kubernetes architectures:

Kubernetes cluster architectures Supported Default install

Single master, compute

Yes

Yes

Multiple master, compute

Yes

Yes

Master, etcd, compute

Yes

Yes

Master, infrastructure, compute

Yes

Yes