Managing Trident¶
Installing Trident¶
Follow the extensive deployment guide.
Upgrading Trident¶
The Upgrade Guide details the procedure for upgrading to the latest version of Trident.
Monitoring Trident¶
Trident 20.01 provides a set of Prometheus metrics that can be used to obtain
insight on how Trident operates. You can now define a Prometheus target to gather
the metrics exposed by Trident and obtain information on the backends it manages,
the volumes it creates and so on. Trident’s metrics are exposed on the target port
8001
. These metrics are enabled by default when Trident is installed; to disable
them from being reported, you will have to generate custom YAMLs (using the
--generate-custom-yaml
flag) and edit them to remove the --metrics
flag
from being invoked for the trident-main
container.
This blog is a great place to start. It explains how Prometheus and Grafana can be used with Trident 20.01 and above to retrieve metrics. The blog explains how you can run Prometheus as an operator in your Kubernetes cluster and the creation of a ServiceMonitor to obtain Trident’s metrics.
Uninstalling Trident¶
Depending on how Trident is installed, there are multiple options to uninstall Trident.
Uninstalling with the Trident Operator¶
If you have installed Trident using the operator, you can uninstall Trident by either:
- Editing the TridentProvisioner to set the uninstall flag: You can
edit the TridentProvisioner and set
spec.uninstall=true
to uninstall Trident. - Deleting the TridentProvisioner: By removing the
TridentProvisioner
CR that was used to deploy Trident, you instruct the operator to uninstall Trident. The operator processes the removal of the TridentProvisioner and proceeds to remove the Trident deployment and daemonset, deleting the Trident pods it had created on installation.
To uninstall Trident, edit the TridentProvisioner
and set the
uninstall
flag as shown below:
$ kubectl patch tprov <trident-provisioner-name> -n trident --type=merge -p '{"spec":{"uninstall":true}}'
When the uninstall
flag is set to true
, the Trident Operator
uninstalls Trident but doesn’t remove the TridentProvisioner itself. You
must clean up the TridentProvisioner and create a new one if you want to
install Trident again.
To completely remove Trident (including the CRDs it creates) and effectively
wipe the slate clean, you can edit the TridentProvisioner
to pass the
wipeout
option.
Warning
You must only consider wiping out the CRDs when performing a complete uninstallation. This will completely uninstall Trident and cannot be undone. Do not wipeout the CRDs unless you are looking to start over and create a fresh Trident install.
$ kubectl patch tprov <trident-provisioner-name> -n trident --type=merge -p '{"spec":{"wipeout":["crds"],"uninstall":true}}'
This will completely uninstall Trident and clear all metadata related to backends and volumes it manages. Subsequent installations will be treated as a fresh install.
Uninstalling with tridentctl¶
The uninstall command in tridentctl will remove all of the resources associated with Trident except for the CRDs and related objects, making it easy to run the installer again to update to a more recent version.
./tridentctl uninstall -n <namespace>
To perform a complete removal of Trident, you will need to remove the finalizers for the CRDs created by Trident and delete the CRDs. Refer the Troubleshooting Guide for the steps to completely uninstall Trident.
Downgrading Trident¶
Downgrading to a previous release of Trident is not recommended and should
not be performed unless absolutely neccessary. Downgrades to versions 19.04
and earlier are not supported.
Refer the downgrade section for considerations and
factors that can influence your decision to downgrade.