23 Jun 2025
05:59 PM
- last edited on
24 Jun 2025
10:11 AM
by
MaciejNeumann
We've seen multiple customers face issues where Dynatrace Operator pods continue to run even after the dynatrace namespace has been deleted, especially in Google Cloud (GCP) Kubernetes clusters.
This typically happens because Dynatrace installs several cluster-scoped resources (like CRDs, webhook configurations, ClusterRoles, etc.) that are not automatically removed when a namespace is deleted. As a result, leftover components like validating webhooks and CRDs can continue to function and even interfere with new workloads — causing webhook errors or orphaned pods.
To ensure a complete and clean uninstallation of the Dynatrace Operator and all related components, here’s a checklist you can follow.
helm uninstall dynatrace-operator -n dynatrace
Wait for the uninstall to complete, then run:
kubectl delete namespace dynatrace
Run the following to check for cluster-wide resources:
- kubectl get crd | grep dynatrace
- kubectl get clusterrole | grep dynatrace
- kubectl get clusterrolebinding | grep dynatrace
- kubectl get mutatingwebhookconfigurations | grep dynatrace
- kubectl get validatingwebhookconfigurations | grep dynatrace
Delete residual Dynatrace resources using:
- kubectl delete crd dynakubes.dynatrace.com
- kubectl delete clusterrole dynatrace-operator
- kubectl delete clusterrolebinding dynatrace-operator
- kubectl delete mutatingwebhookconfiguration dynatrace-operator
- kubectl delete validatingwebhookconfiguration dynatrace-operator
Check for any Dynatrace-related pods still running (outside namespace):
- kubectl get pods --all-namespaces | grep dynatrace
25 Jun 2025 01:46 PM
Very useful solution 🙂 Thank you!