Skip to content
You are viewing the latest documentation for Solo Enterprise for kgateway, formerly known as Gloo Gateway. To access the documentation for older Gloo Gateway versions, such as 2.0 and 1.x, use the version switcher.

Uninstall

Page as Markdown

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.

Did you use Argo CD to install Solo Enterprise for kgateway? Skip to the Argo CD steps.
  1. Get all HTTP routes in your environment.

    kubectl get httproutes -A
  2. Remove each HTTP route.

    kubectl delete -n <namespace> httproute <httproute-name>
  3. Get all reference grants in your environment.

    kubectl get referencegrants -A
  4. Remove each reference grant.

    kubectl delete -n <namespace> referencegrant <referencegrant-name>
  5. Get all gateways in your environment that are configured by the enterprise-kgateway gateway class.

    kubectl get gateways -A | grep enterprise-kgateway
  6. Remove each gateway.

    kubectl delete -n <namespace> gateway <gateway-name>
  7. Uninstall the control plane.

    1. Uninstall the enterprise-kgateway Helm release.

      helm uninstall enterprise-kgateway -n kgateway-system
    2. Delete the CRDs.

      helm uninstall enterprise-kgateway-crds -n kgateway-system
    3. Remove the kgateway-system namespace.

      kubectl delete namespace kgateway-system
    4. Confirm that the CRDs are deleted.

      kubectl get crds | grep enterprise-kgateway
  8. 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.

  1. Port-forward the Argo CD server on port 9999.

    kubectl port-forward svc/argocd-server -n argocd 9999:443
  2. Open the Argo CD UI.

  3. Log in with the admin username and gateway password.

  4. Find the application that you want to delete and click x.

  5. Select Foreground and click Ok.

  6. Verify that the pods were removed from the kgateway-system namespace.

    kubectl get pods -n kgateway-system

    Example output:

    No resources found in kgateway-system namespace.
  7. Remove the kgateway-system namespace.

    kubectl delete namespace kgateway-system
  8. Remove the argocd namespace.

    kubectl delete namespace argocd
  1. Port-forward the Argo CD server on port 9999.

    kubectl port-forward svc/argocd-server -n argocd 9999:443
  2. Log in to the Argo CD UI.

    argocd login localhost:9999 --username admin --password gateway --insecure
  3. Delete the enterprise-kgateway application.

    argocd app delete enterprise-kgateway-helm --cascade --server localhost:9999 --insecure

    Example output:

    Are you sure you want to delete 'enterprise-kgateway-helm' and all its resources? [y/n] y
    application 'enterprise-kgateway-helm' deleted   
  4. Delete the enterprise-kgateway CRD application.

    argocd app delete enterprise-kgateway-crds-helm --cascade --server localhost:9999 --insecure

    Example output:

    Are you sure you want to delete 'enterprise-kgateway-crds-helm' and all its resources? [y/n] y
    application 'enterprise-kgateway-crds-helm' deleted   
  5. Verify that the pods were removed from the kgateway-system namespace.

    kubectl get pods -n kgateway-system

    Example output:

    No resources found in kgateway-system namespace.
  6. Remove the kgateway-system namespace.

    kubectl delete namespace kgateway-system
  7. Remove the argocd namespace.

    kubectl delete namespace argocd

Uninstall optional components

Remove any optional components that you no longer need, such as sample apps.

  1. 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 monitoring
  2. Remove the httpbin sample app.

    kubectl delete -f https://raw.githubusercontent.com/kgateway-dev/kgateway/refs/heads/main/examples/httpbin.yaml
  3. Remove the Petstore sample app.

    kubectl delete -f https://raw.githubusercontent.com/kgateway-dev/kgateway.dev/main/assets/docs/examples/petstore.yaml