Deploy Trident operator using Helm (Offline mode)
You can deploy the Trident operator and install Trident using Helm. This process applies to installations where the container images required by Trident are stored in a private registry. If you do not have a private image registry, use the process for standard deployment.
Critical information about Trident 24.10
You must read the following critical information about Trident.
Critical information about Trident
-
Kubernetes 1.31 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.
Deploy the Trident operator and install Trident using Helm
Using the Trident Helm Chart you can deploy the Trident operator and install Trident in one step.
Review the installation overview to ensure you've met installation prerequisites and selected the correct installation option for your environment.
In addition to the deployment prerequisites you need Helm version 3.
When installing Trident in a private repository, if you are using the imageRegistry switch to specify the repository location, do not use /netapp/ in the repository path.
|
-
Add the Trident Helm repository:
helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
-
Use
helm install
and specify a name for your deployment and image registry location. Your Trident and CSI images can be located in one registry or different registries, but all CSI images must be located in the same registry. In the examples,100.2410.0
is the version of Trident you are installing.Images in one registryhelm install <name> netapp-trident/trident-operator --version 100.2410.0 --set imageRegistry=<your-registry> --create-namespace --namespace <trident-namespace> --set nodePrep={iscsi}
Images in different registrieshelm install <name> netapp-trident/trident-operator --version 100.2410.0 --set imageRegistry=<your-registry> --set operatorImage=<your-registry>/trident-operator:24.10.0 --set tridentAutosupportImage=<your-registry>/trident-autosupport:24.06 --set tridentImage=<your-registry>/trident:24.10.0 --create-namespace --namespace <trident-namespace> --set nodePrep={iscsi}
If you already created a namespace for Trident, the --create-namespace
parameter will not create an additional namespace.
You can use helm list
to review installation details such as name, namespace, chart, status, app version, and revision number.
Pass configuration data during install
There are two ways to pass configuration data during the install:
Option | Description |
---|---|
|
Specify a YAML file with overrides. This can be specified multiple times and the rightmost file will take precedence. |
|
Specify overrides on the command line. |
For example, to change the default value of debug
, run the following command where 100.2410.0
is the version of Trident you are installing:
helm install <name> netapp-trident/trident-operator --version 100.2410.0 --create-namespace --namespace trident --set tridentDebug=true
To add the nodePrep value, run the following command:
helm install <name> netapp-trident/trident-operator --version 100.2406.0 --create-namespace --namespace trident --set nodePrep={iscsi}
Configuration options
This table and the values.yaml
file, which is part of the Helm chart, provide the list of keys and their default values.
Do not remove the default affinity from the values.yaml file. When you want to provide a custom affinity, extend the default affinity. |
Option | Description | Default | ||
---|---|---|---|---|
|
Node labels for pod assignment |
|||
|
Pod annotations |
|||
|
Deployment annotations |
|||
|
Tolerations for pod assignment |
|||
|
Affinity for pod assignment |
affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/arch operator: In values: - arm64 - amd64 - key: kubernetes.io/os operator: In values: - linux
|
||
|
Additional node selectors for pods. Refer to Understanding controller pods and node pods for details. |
|||
|
Overrides Kubernetes tolerations for pods. Refer to Understanding controller pods and node pods for details. |
|||
|
Additional node selectors for pods. Refer to Understanding controller pods and node pods for details. |
|||
|
Overrides Kubernetes tolerations for pods. Refer to Understanding controller pods and node pods for details. |
|||
|
Identifies the registry for the |
"" |
||
|
Sets the image pull policy for the |
|
||
|
Sets the image pull secrets for the |
|||
|
Allows overriding the host location of kubelet's internal state. |
|
||
|
Allows the log level of the Trident operator to be set to: |
|
||
|
Allows the log level of the Trident operator to be set to debug. |
|
||
|
Allows the complete override of the image for |
"" |
||
|
Allows overriding the tag of the |
"" |
||
|
Allows enabling Trident to work in IPv6 clusters. |
|
||
|
Overrides the default 30-second timeout for most Kubernetes API operations (if non-zero, in seconds). |
|
||
|
Overrides the default 90-second timeout for the HTTP requests, with |
|
||
|
Allows disabling Trident periodic AutoSupport reporting. |
|
||
|
Allows overriding the tag of the image for Trident AutoSupport container. |
|
||
|
Enables Trident AutoSupport container to phone home via an HTTP proxy. |
"" |
||
|
Sets the Trident logging format ( |
|
||
|
Disables Trident audit logger. |
|
||
|
Allows the log level of Trident to be set to: |
|
||
|
Allows the log level of Trident to be set to |
|
||
|
Allows specific Trident workflows to be enabled for trace logging or log suppression. |
"" |
||
|
Allows specific Trident layers to be enabled for trace logging or log suppression. |
"" |
||
|
Allows the complete override of the image for Trident. |
"" |
||
|
Allows overriding the tag of the image for Trident. |
"" |
||
|
Allows overriding the default port used for Kubernetes liveness/readiness probes. |
"" |
||
|
Enables Trident to be installed on Windows worker node. |
|
||
|
Allows enabling the force detach feature. |
|
||
|
Excludes the operator pod security policy from creation. |
|
||
|
Enables Trident to prepare the nodes of the Kubernetes cluster to manage volumes using the specified data storage protocol. |