Just to add my two cents of different types of situations that can be needed based on previous kube ops experience. When installing something into a cluster that has CRD's it's often needed that removing the application associated with the CRD's to keep the CRD's around for other things that may have objects of those CRD types still in use.
Some controllers between major version upgrades need a full removal in order to get the new version into a cluster.
Just to add my two cents of different types of situations that can be needed based on previous kube ops experience. When installing something into a cluster that has CRD's it's often needed that removing the application associated with the CRD's to keep the CRD's around for other things that may have objects of those CRD types still in use.
Some controllers between major version upgrades need a full removal in order to get the new version into a cluster.