Single cluster

  1. Uninstall Gloo Network.

    1. Uninstall the Gloo Network release.

        helm uninstall gloo-network -n gloo-mesh
        
    2. Uninstall any Gloo CRDs, such as by deleting the CRD Helm release.

        helm uninstall gloo-platform-crds -n gloo-mesh
        

      If you do not have a CRD Helm release, check for and manually remove any CRDs.

        kubectl get crds | grep solo
      kubectl delete crd <$CRD>
        
  2. Delete the gloo-mesh namespace.

      kubectl delete namespace gloo-mesh
      

Multicluster

  1. Save the names and contexts of the clusters you want to uninstall Gloo Network from.

      export MGMT_CLUSTER=<management-cluster>
    export REMOTE_CLUSTER1=<remote-cluster1>
    export REMOTE_CLUSTER2=<remote-cluster2>
      
      export MGMT_CONTEXT=<management-cluster-context>
    export REMOTE_CONTEXT1=<remote-cluster1-context>
    export REMOTE_CONTEXT2=<remote-cluster2-context>
      
  2. Deregister each workload cluster.

    1. Uninstall the Gloo agent that runs on each workload cluster.

    2. Delete the gloo-mesh namespaces from each workload cluster.

        kubectl --context $REMOTE_CONTEXT1 delete namespace gloo-mesh
      kubectl --context $REMOTE_CONTEXT2 delete namespace gloo-mesh
        
  3. Uninstall Gloo Network.

    1. Uninstall the Gloo Network control plane components from the management cluster.

        helm uninstall gloo-network -n gloo-mesh --kube-context $MGMT_CONTEXT
      helm uninstall gloo-platform-crds -n gloo-mesh --context $MGMT_CONTEXT
        
    2. Delete the gloo-mesh namespace.

        kubectl --context $MGMT_CONTEXT delete namespace gloo-mesh