Trident architecture
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.
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.
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
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, |
Yes |
Yes |
Master, infrastructure, compute |
Yes |
Yes |