Upgrade a Trident operator installation
You can upgrade Astra Trident using the Trident operator either manually or using Helm. You can upgrade from a Trident operator installation to another Trident operator installation or upgrade from a tridentctl
installation to a Trident operator version. Review Select an upgrade method before upgrading a Trident operator installation.
Upgrade a manual installation
You can upgrade from a cluster-scoped Trident operator installation to another cluster-scoped Trident operator installation. All Astra Trident versions 21.01 and above use a cluster-scoped operator.
To upgrade from Astra Trident that was installed using the namespace-scoped operator (versions 20.07 through 20.10), use the upgrade instructions for your installed version of Astra Trident. |
Trident provides a bundle file you can use to install the operator and create associated objects for your Kubernetes version.
-
For clusters running Kubernetes 1.24 or earlier, use bundle_pre_1_25.yaml.
-
For clusters running Kubernetes 1.25 or later, use bundle_post_1_25.yaml.
Ensure you are using a Kubernetes cluster running a supported Kubernetes version.
-
Verify your Astra Trident version:
./tridentctl -n trident version
-
Delete the Trident operator that was used to install the current Astra Trident instance. For example, if you are upgrading from 23.07, run the following command:
kubectl delete -f 23.07.0/trident-installer/deploy/<bundle.yaml> -n trident
-
If you customized your initial installation using
TridentOrchestrator
attributes, you can edit theTridentOrchestrator
object to modify the installation parameters. This might include changes made to specify mirrored Trident and CSI image registries for offline mode, enable debug logs, or specify image pull secrets. -
Install Astra Trident using the correct bundle YAML file for your environment, where <bundle.yaml> is
bundle_pre_1_25.yaml
orbundle_post_1_25.yaml
based on your Kubernetes version. For example, if you are installing Astra Trident 23.10, run the following command:kubectl create -f 23.10.0/trident-installer/deploy/<bundle.yaml> -n trident
Upgrade a Helm installation
You can upgrade an Astra Trident Helm installation.
When upgrading a Kubernetes cluster from 1.24 to 1.25 or later that has Astra Trident installed, you must update values.yaml to set excludePodSecurityPolicy to true or add --set excludePodSecurityPolicy=true to the helm upgrade command before you can upgrade the cluster.
|
-
If you installed Astra Trident using Helm, you can use
helm upgrade trident netapp-trident/trident-operator --version 23.10.0
to upgrade in one step. If you did not add the Helm repo or cannot use it to upgrade:-
Download the latest Astra Trident release from the Assets section on GitHub.
-
Use the
helm upgrade
command wheretrident-operator-23.10.0.tgz
reflects the version that you want to upgrade to.helm upgrade <name> trident-operator-23.10.0.tgz
If you set custom options during the initial installation (such as specifying private, mirrored registries for Trident and CSI images), append the helm upgrade
command using--set
to ensure those options are included in the upgrade command, otherwise the values will reset to default.
-
-
Run
helm list
to verify that the chart and app version have both been upgraded. Runtridentctl logs
to review any debug messages.
Upgrade from a tridentctl
installation to Trident operator
You can upgrade to the latest release of the Trident operator from a tridentctl
installation. The existing backends and PVCs will automatically be available.
Before switching between installation methods, review Moving between installation methods |
-
Download the latest Astra Trident release.
# Download the release required [23.10.0] mkdir 23.10.0 cd 23.10.0 wget https://github.com/NetApp/trident/releases/download/v23.10.0/trident-installer-23.10.0.tar.gz tar -xf trident-installer-23.10.0.tar.gz cd trident-installer
-
Create the
tridentorchestrator
CRD from the manifest.kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
Deploy the cluster-scoped operator in the same namespace.
kubectl create -f deploy/<bundle-name.yaml> serviceaccount/trident-operator created clusterrole.rbac.authorization.k8s.io/trident-operator created clusterrolebinding.rbac.authorization.k8s.io/trident-operator created deployment.apps/trident-operator created podsecuritypolicy.policy/tridentoperatorpods created #Examine the pods in the Trident namespace NAME READY STATUS RESTARTS AGE trident-controller-79df798bdc-m79dc 6/6 Running 0 150d trident-node-linux-xrst8 2/2 Running 0 150d trident-operator-5574dbbc68-nthjv 1/1 Running 0 1m30s
-
Create a
TridentOrchestrator
CR for installing Astra Trident.cat deploy/crds/tridentorchestrator_cr.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident kubectl create -f deploy/crds/tridentorchestrator_cr.yaml #Examine the pods in the Trident namespace NAME READY STATUS RESTARTS AGE trident-csi-79df798bdc-m79dc 6/6 Running 0 1m trident-csi-xrst8 2/2 Running 0 1m trident-operator-5574dbbc68-nthjv 1/1 Running 0 5m41s
-
Confirm Trident was upgraded to the intended version.
kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v23.10.0