Install and configure Trident protect
If your environment meets the requirements for Trident protect, you can follow these steps to install Trident protect on your cluster. You can obtain Trident protect from NetApp, or install it from your own private registry. Installing from a private registry is helpful if your cluster cannot access the Internet.
Install Trident protect
-
Add the Trident Helm repository:
helm repo add netapp-trident-protect https://netapp.github.io/trident-protect-helm-chart
-
Install the Trident protect CRDs:
helm install trident-protect-crds netapp-trident-protect/trident-protect-crds --version 100.2502.0 --create-namespace --namespace trident-protect
-
Use Helm to install Trident protect. Replace
<name_of_cluster>
with a cluster name, which will be assigned to the cluster and used to identify the cluster's backups and snapshots:helm install trident-protect netapp-trident-protect/trident-protect --set clusterName=<name_of_cluster> --version 100.2502.0 --create-namespace --namespace trident-protect
You can install Trident protect from a private image registry if your Kubernetes cluster is unable to access the Internet. In these examples, replace values in brackets with information from your environment:
-
Pull the following images to your local machine, update the tags, and then push them to your private registry:
netapp/controller:25.02.0 netapp/restic:25.02.0 netapp/kopia:25.02.0 netapp/trident-autosupport:25.02.0 netapp/exechook:25.02.0 netapp/resourcebackup:25.02.0 netapp/resourcerestore:25.02.0 netapp/resourcedelete:25.02.0 bitnami/kubectl:1.30.2 kubebuilder/kube-rbac-proxy:v0.16.0
For example:
docker pull netapp/controller:25.02.0
docker tag netapp/controller:25.02.0 <private-registry-url>/controller:25.02.0
docker push <private-registry-url>/controller:25.02.0
-
Create the Trident protect system namespace:
kubectl create ns trident-protect
-
Log in to the registry:
helm registry login <private-registry-url> -u <account-id> -p <api-token>
-
Create a pull secret to use for private registry authentication:
kubectl create secret docker-registry regcred --docker-username=<registry-username> --docker-password=<api-token> -n trident-protect --docker-server=<private-registry-url>
-
Add the Trident Helm repository:
helm repo add netapp-trident-protect https://netapp.github.io/trident-protect-helm-chart
-
Create a file named
protectValues.yaml
. Ensure that it contains the following Trident protect settings:--- image: registry: <private-registry-url> imagePullSecrets: - name: regcred controller: image: registry: <private-registry-url> rbacProxy: image: registry: <private-registry-url> crCleanup: imagePullSecrets: - name: regcred webhooksCleanup: imagePullSecrets: - name: regcred
-
Install the Trident protect CRDs:
helm install trident-protect-crds netapp-trident-protect/trident-protect-crds --version 100.2502.0 --create-namespace --namespace trident-protect
-
Use Helm to install Trident protect. Replace
<name_of_cluster>
with a cluster name, which will be assigned to the cluster and used to identify the cluster's backups and snapshots:helm install trident-protect netapp-trident-protect/trident-protect --set clusterName=<name_of_cluster> --version 100.2502.0 --create-namespace --namespace trident-protect -f protectValues.yaml