Skip to main content

Install and configure Trident protect

Contributors netapp-mwallis netapp-shwetav

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.

Note By default, Trident protect collects support information that helps with any NetApp support cases that you might open, including logs, metrics, and topology information about clusters and managed applications. Trident protect sends these support bundles to NetApp on a daily schedule. You can optionally disable this support bundle collection when you install Trident protect. You can manually generate a support bundle at any time.
Install Trident protect from NetApp
  1. Add the Trident Helm repository:

    helm repo add netapp-trident-protect https://netapp.github.io/trident-protect-helm-chart
  2. Install the Trident protect CRDs:

    helm install trident-protect-crds netapp-trident-protect/trident-protect-crds --version 100.2410.0
  3. Use Helm to install Trident protect using one of the following commands. 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:

    • Install Trident protect normally:

      helm install trident-protect netapp-trident-protect/trident-protect --set clusterName=<name_of_cluster> --version 100.2410.0 --create-namespace --namespace trident-protect
    • Install Trident protect and disable the scheduled daily Trident protect AutoSupport support bundle uploads:

      helm install trident-protect netapp-trident-protect/trident-protect --set autoSupport.enabled=false --set clusterName=<name_of_cluster> --version 100.2410.0 --create-namespace --namespace trident-protect
  4. Optionally, freeze your VMs. If you are using KubeVirt support for SnapMirror, freezing VMs helps you to manage them effectively:

    kubectl set env deployment/trident-protect-controller-manager NEPTUNE_VM_FREEZE=true -n trident-protect
    Note You need to set up virtualization for the freeze functionality to work. VMs deployed after this setup include the necessary binaries to freeze and unfreeze. To learn more about setting up virtualization, refer to Installing OpenShift Virtualization.
Install Trident protect from a private registry

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:

  1. Pull the following images to your local machine, update the tags, and then push them to your private registry:

    netapp/controller:24.10.0
    netapp/restic:24.10.0
    netapp/kopia:24.10.0
    netapp/trident-autosupport:24.10.0
    netapp/exechook:24.10.0
    netapp/resourcebackup:24.10.0
    netapp/resourcerestore:24.10.0
    netapp/resourcedelete:24.10.0
    bitnami/kubectl:1.30.2
    kubebuilder/kube-rbac-proxy:v0.16.0

    For example:

    docker pull netapp/controller:24.10.0
    docker tag netapp/controller:24.10.0 <private-registry-url>/controller:24.10.0
    docker push <private-registry-url>/controller:24.10.0
  2. Create the Trident protect system namespace:

    kubectl create ns trident-protect
  3. Log in to the registry:

    helm registry login <private-registry-url> -u <account-id> -p <api-token>
  4. 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>
  5. Add the Trident Helm repository:

    helm repo add netapp-trident-protect https://netapp.github.io/trident-protect-helm-chart
  6. Create a file named protectValues.yaml that 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
  7. Install the Trident protect CRDs:

    helm install trident-protect-crds netapp-trident-protect/trident-protect-crds --version 100.2410.0
  8. Use Helm to install Trident protect using one of the following commands. 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:

    • Install Trident protect normally:

      helm install trident-protect netapp-trident-protect/trident-protect --set clusterName=<name_of_cluster> --version 100.2410.0 --create-namespace --namespace trident-protect -f protectValues.yaml
    • Install Trident protect and disable the scheduled daily Trident protect AutoSupport support bundle uploads:

      helm install trident-protect netapp-trident-protect/trident-protect --set autoSupport.enabled=false --set clusterName=<name_of_cluster> --version 100.2410.0 --create-namespace --namespace trident-protect -f protectValues.yaml
  9. Optionally, freeze your VMs. If you are using KubeVirt support for SnapMirror, freezing VMs helps you to manage them effectively:

    kubectl set env deployment/trident-protect-controller-manager NEPTUNE_VM_FREEZE=true -n trident-protect
    Note You need to set up virtualization for the freeze functionality to work. VMs deployed after this setup include the necessary binaries to freeze and unfreeze. To learn more about setting up virtualization, refer to Installing OpenShift Virtualization.