Requirements
Before installing Trident you should review these general system requirements. Specific backends might have additional requirements.
Critical information about Trident
You must read the following critical information about Trident.
Critical information about Trident
-
Kubernetes 1.33 is now supported in Trident. Upgrade Trident prior to upgrading Kubernetes.
-
Trident strictly enforces the use of multipathing configuration in SAN environments, with a recommended value of
find_multipaths: no
in multipath.conf file.Use of non-multipathing configuration or use of
find_multipaths: yes
orfind_multipaths: smart
value in multipath.conf file will result in mount failures. Trident has recommended the use offind_multipaths: no
since the 21.07 release.
Supported frontends (orchestrators)
Trident supports multiple container engines and orchestrators, including the following:
-
Anthos On-Prem (VMware) and Anthos on bare metal 1.16
-
Kubernetes 1.27 - 1.33
-
OpenShift 4.14 - 4.19 (If you plan to use iSCSI node preparation with OpenShift 4.19, the minimum Trident version supported is 25.06.1.)
-
Rancher Kubernetes Engine 2 (RKE2) v1.27.x - 1.33.x
|
While Trident is supported on Rancher Kubernetes Engine 2 (RKE2) versions 1.27.x - 1.33.x, Trident has currently been qualified on RKE2 v1.28.5+rke2r1 only. |
Trident also works with a host of other fully-managed and self-managed Kubernetes offerings, including Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Services (EKS), Azure Kubernetes Service (AKS), Mirantis Kubernetes Engine (MKE), and VMWare Tanzu Portfolio.
Trident and ONTAP can be used as a storage provider for KubeVirt.
|
Before upgrading a Kubernetes cluster from 1.25 to 1.26 or later that has Trident installed, refer to Upgrade a Helm installation. |
Supported backends (storage)
To use Trident, you need one or more of the following supported backends:
-
Amazon FSx for NetApp ONTAP
-
Azure NetApp Files
-
Cloud Volumes ONTAP
-
Google Cloud NetApp Volumes
-
NetApp All SAN Array (ASA)
-
On-premises FAS, AFF, or ASA r2 (iSCSI and NVMe/TCP) cluster versions under NetApp's limited support. See Software Version Support.
-
NetApp HCI/Element software 11 or above
Trident support for KubeVirt and OpenShift Virtualization
Trident supports the following ONTAP drivers for KubeVirt and OpenShift Virtualization:
-
ontap-nas
-
ontap-nas-economy
-
ontap-san (iSCSI, FCP, NVMe over TCP)
-
ontap-san-economy (iSCSI Only)
-
Update storage class to have the
fsType
parameter (for example:fsType: "ext4"
) in OpenShift Virtualization environment. If needed, set the volume mode to block explicitly using thevolumeMode=Block
parameter in thedataVolumeTemplates
to notify CDI to create Block data volumes. -
RWX access mode for block-storage drivers: ontap-san (iSCSI, NVMe/TCP, FC) and ontap-san-economy (iSCSI) drivers are supported only with "volumeMode: Block" (raw device). For these drivers, the
fstype
parameter cannot be used because the volumes are provided in raw device mode. -
For live-migration workflow/s where RWX access mode is required, these combinations are supported:
-
NFS +
volumeMode=Filesystem
-
iSCSI +
volumeMode=Block
(raw device) -
NVMe/TCP +
volumeMode=Block
(raw device) -
FC +
volumeMode=Block
(raw device)
-
Feature requirements
The table below summarizes the features available with this release of Trident and the versions of Kubernetes it supports.
Feature | Kubernetes version | Feature gates required? |
---|---|---|
Trident |
1.27 - 1.33 |
No |
Volume Snapshots |
1.27 - 1.33 |
No |
PVC from Volume Snapshots |
1.27 - 1.33 |
No |
iSCSI PV resize |
1.27 - 1.33 |
No |
ONTAP Bidirectional CHAP |
1.27 - 1.33 |
No |
Dynamic Export Policies |
1.27 - 1.33 |
No |
Trident Operator |
1.27 - 1.33 |
No |
CSI Topology |
1.27 - 1.33 |
No |
Tested host operating systems
Though Trident does not officially support specific operating systems, the following are known to work:
-
Red Hat Enterprise Linux CoreOS (RHCOS) versions as supported by OpenShift Container Platform (AMD64 and ARM64)
-
RHEL 8+ (AMD64 and ARM64)
NVMe/TCP requires RHEL 9 or later. -
Ubuntu 22.04 or later (AMD64 and ARM64)
-
Windows Server 2022
By default, Trident runs in a container and will, therefore, run on any Linux worker. However, those workers need to be able to mount the volumes that Trident provides using the standard NFS client or iSCSI initiator, depending on the backends you are using.
The tridentctl
utility also runs on any of these distributions of Linux.
Host configuration
All worker nodes in the Kubernetes cluster must be able to mount the volumes you have provisioned for your pods. To prepare the worker nodes, you must install NFS, iSCSI, or NVMe tools based on your driver selection.
Storage system configuration
Trident might require changes to a storage system before a backend configuration can use it.
Trident ports
Trident requires access to specific ports for communication.
Container images and corresponding Kubernetes versions
For air-gapped installations, the following list is a reference of container images needed to install Trident. Use the tridentctl images
command to verify the list of needed container images.
Kubernetes versions | Container image |
---|---|
v1.27.0, v1.28.0, v1.29.0, v1.30.0, v1.31.0, v1.32.0, v1.33.0 |
|