Uninstall
Uninstall Gloo Network for Cilium or deregister your cluster from the Gloo management plane.
Single cluster link
Uninstall the Gloo Network release.
helm uninstall gloo-mesh-core -n gloo-mesh
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>
Delete the gloo-mesh
namespace.
kubectl delete namespace gloo-mesh
Multicluster link
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>
Uninstall the Gloo agent that runs on each workload cluster.
meshctl cluster deregister \
--kubecontext $MGMT_CONTEXT \
--remote-context $REMOTE_CONTEXT1 \
$REMOTE_CLUSTER1
meshctl cluster deregister \
--kubecontext $MGMT_CONTEXT \
--remote-context $REMOTE_CONTEXT2 \
$REMOTE_CLUSTER2
Example output:
Deregistering cluster: cluster1
Finished uninstalling release gloo-mesh-agent
Successfully deregistered cluster: cluster1
Uninstall the agent Helm releases.
helm uninstall gloo-platform -n gloo-mesh --kube-context $REMOTE_CONTEXT1
helm uninstall gloo-platform -n gloo-mesh --kube-context $REMOTE_CONTEXT2
Delete the corresponding KubernetesCluster resources from the management cluster.
kubectl delete kubernetescluster $REMOTE_CLUSTER1 $REMOTE_CLUSTER2 -n gloo-mesh --context $MGMT_CONTEXT
Delete the relay secrets from each workload cluster, as you cannot reuse the same secret if you decide to re-register the agent later.
kubectl delete secret -n gloo-mesh relay-client-tls-secret --context $REMOTE_CONTEXT1
kubectl delete secret -n gloo-mesh relay-identity-token-secret --context $REMOTE_CONTEXT1
kubectl delete secret -n gloo-mesh relay-root-tls-secret --context $REMOTE_CONTEXT1
kubectl delete secret -n gloo-mesh relay-client-tls-secret --context $REMOTE_CONTEXT2
kubectl delete secret -n gloo-mesh relay-identity-token-secret --context $REMOTE_CONTEXT2
kubectl delete secret -n gloo-mesh relay-root-tls-secret --context $REMOTE_CONTEXT2
Uninstall any Gloo CRDs, such as by deleting the CRD Helm release.
helm uninstall gloo-platform-crds -n gloo-mesh --kube-context $REMOTE_CONTEXT1
helm uninstall gloo-platform-crds -n gloo-mesh --kube-context $REMOTE_CONTEXT2
If you do not have a CRD Helm release, check for and manually remove any CRDs.
kubectl get crds --context $REMOTE_CONTEXT1 | grep solo
kubectl delete --context $REMOTE_CONTEXT1 crd <$CRD>
kubectl get crds --context $REMOTE_CONTEXT2 | grep solo
kubectl delete --context $REMOTE_CONTEXT2 crd <$CRD>
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
Uninstall the Gloo management plane components from the management cluster.
helm uninstall gloo-platform -n gloo-mesh --kube-context $MGMT_CONTEXT
helm uninstall gloo-platform-crds -n gloo-mesh --kube-context $MGMT_CONTEXT
Delete the gloo-mesh
namespace.
kubectl --context $MGMT_CONTEXT delete namespace gloo-mesh