Uninstall
Uninstall Solo Enterprise for kgateway and related components.
If you no longer need your Solo Enterprise for kgateway environment, you can uninstall the control plane and all gateway proxies. You can also optionally remove related components such as Prometheus and sample apps.
Uninstall
Remove the Solo Enterprise for kgateway control plane and gateway proxies.
Get all HTTP routes in your environment.
kubectl get httproutes -ARemove each HTTP route.
kubectl delete -n <namespace> httproute <httproute-name>Get all reference grants in your environment.
kubectl get referencegrants -ARemove each reference grant.
kubectl delete -n <namespace> referencegrant <referencegrant-name>Get all gateways in your environment that are configured by the
enterprise-kgatewaygateway class.kubectl get gateways -A | grep enterprise-kgatewayRemove each gateway.
kubectl delete -n <namespace> gateway <gateway-name>Uninstall the control plane.
Uninstall the enterprise-kgateway Helm release.
helm uninstall enterprise-kgateway -n kgateway-systemDelete the CRDs.
helm uninstall enterprise-kgateway-crds -n kgateway-systemRemove the
kgateway-systemnamespace.kubectl delete namespace kgateway-systemConfirm that the CRDs are deleted.
kubectl get crds | grep enterprise-kgateway
Remove the Kubernetes Gateway API CRDs. If you installed a different version or channel of the Kubernetes Gateway API, update the following command accordingly.
kubectl delete -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/standard-install.yaml
Uninstall with ArgoCD
For ArgoCD installations, use the following steps to clean up your environment.
Port-forward the Argo CD server on port 9999.
kubectl port-forward svc/argocd-server -n argocd 9999:443Open the Argo CD UI.
Log in with the
adminusername andgatewaypassword.Find the application that you want to delete and click x.
Select Foreground and click Ok.
Verify that the pods were removed from the
kgateway-systemnamespace.kubectl get pods -n kgateway-systemExample output:
No resources found in kgateway-system namespace.Remove the
kgateway-systemnamespace.kubectl delete namespace kgateway-systemRemove the
argocdnamespace.kubectl delete namespace argocd
Port-forward the Argo CD server on port 9999.
kubectl port-forward svc/argocd-server -n argocd 9999:443Log in to the Argo CD UI.
argocd login localhost:9999 --username admin --password gateway --insecureDelete the enterprise-kgateway application.
argocd app delete enterprise-kgateway-helm --cascade --server localhost:9999 --insecureExample output:
Are you sure you want to delete 'enterprise-kgateway-helm' and all its resources? [y/n] y application 'enterprise-kgateway-helm' deletedDelete the enterprise-kgateway CRD application.
argocd app delete enterprise-kgateway-crds-helm --cascade --server localhost:9999 --insecureExample output:
Are you sure you want to delete 'enterprise-kgateway-crds-helm' and all its resources? [y/n] y application 'enterprise-kgateway-crds-helm' deletedVerify that the pods were removed from the
kgateway-systemnamespace.kubectl get pods -n kgateway-systemExample output:
No resources found in kgateway-system namespace.Remove the
kgateway-systemnamespace.kubectl delete namespace kgateway-systemRemove the
argocdnamespace.kubectl delete namespace argocd
Uninstall optional components
Remove any optional components that you no longer need, such as sample apps.
If you no longer need the Prometheus stack to monitor resources in your cluster, uninstall the release and delete the namespace.
helm uninstall kube-prometheus-stack -n monitoring kubectl delete namespace monitoringRemove the httpbin sample app.
kubectl delete -f https://raw.githubusercontent.com/kgateway-dev/kgateway/refs/heads/main/examples/httpbin.yamlRemove the Petstore sample app.
kubectl delete -f https://raw.githubusercontent.com/kgateway-dev/kgateway.dev/main/assets/docs/examples/petstore.yaml