Uninstall
If you no longer need your Gloo Mesh Gateway environment, you can uninstall Gloo Mesh Gateway components, such as the management server, agent, gateway proxies, and sample apps.
Single cluster
Uninstall Gloo Mesh Gateway from a single-cluster setup.
Gateway proxies
Uninstall the Istio control plane and gateway proxies. Note: For demo installations, skip to the next section.
Find the name of your Istio Helm chart release in the
istio-ingressnamespace, such asistio-ingressgateway-main.helm ls -n istio-ingressDelete the Helm release for the ingress gateway.
helm uninstall istio-ingressgateway-main -n istio-ingressFind the name of your Istio Helm chart release in the
istio-systemnamespace, such asistiod-main.helm ls -n istio-systemDelete the Helm release for the
istiodcontrol plane.helm uninstall istiod-main -n istio-systemDelete the Istio CRDs.
helm uninstall istio-base -n istio-systemDelete the Istio namespaces.
kubectl delete ns istio-system kubectl delete ns istio-ingress kubectl delete ns istio-config
OpenShift installations: Revoke the extra permissions and resources required for OpenShift to run Istio.
Revoke the Istio namespace ID permissions for the Istio service accounts.
oc adm policy remove-scc-from-group anyuid system:serviceaccounts:gloo-mesh oc adm policy remove-scc-from-group anyuid system:serviceaccounts:istio-system oc adm policy remove-scc-from-group anyuid system:serviceaccounts:istio-ingressRevoke the Istio namespace ID permissions for sample app project service accounts.
oc adm policy remove-scc-from-group anyuid system:serviceaccounts:bookinfo oc adm policy remove-scc-from-group anyuid system:serviceaccounts:httpbinDelete the NetworkAttachmentDefinition resources and the Istio namespace ID permissions for your workload projects.
oc adm policy remove-scc-from-group anyuid system:serviceaccounts:<workload_projects>oc delete network-attachment-definition istio-cni -n <workload_projects>
Gloo Mesh Gateway
Uninstall Gloo Mesh Gateway.
Delete the
gloo-meshnamespace.kubectl delete namespace gloo-mesh
Optional: Sample apps
If you installed the Bookinfo and httpbin sample apps, run the following commands to uninstall their resources.
Export the Istio version that your cluster runs as an environment variable, such as 1.25.2 in the following example.
export ISTIO_VERSION=1.25.2Remove the Bookinfo application components and service accounts.
kubectl -n bookinfo delete -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/platform/kube/bookinfo.yaml -l 'app,version notin (v3)' kubectl -n bookinfo delete -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/platform/kube/bookinfo.yaml -l 'account'Delete the
bookinfonamespace.kubectl delete ns bookinfoRemove the httpbin application components.
kubectl -n httpbin delete -f https://raw.githubusercontent.com/solo-io/gloo-mesh-use-cases/main/policy-demo/httpbin.yamlDelete the
httpbinnamespace.kubectl delete ns httpbin
Multicluster
Uninstall Gloo Mesh Gateway from a multicluster setup.
Gateway proxies
Save the names and contexts of the clusters you want to uninstall Gloo Mesh Gateway 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 Istio control plane and gateway proxies.
Find the name of your Istio Helm chart releases in the
istio-ingressoristio-eastwestnamespaces, such asistio-ingressgateway-mainandistio-eastwestgateway-main.helm ls -n istio-ingress helm ls -n istio-eastwestDelete the Helm release for the ingress and east-west gateways.
helm uninstall istio-ingressgateway-main -n istio-ingress helm uninstall istio-eastwestgateway-main -n istio-eastwestFind the name of your Istio Helm chart release in the
istio-systemnamespace, such asistiod-main.helm ls -n istio-systemDelete the Helm release for the
istiodcontrol plane.helm uninstall istiod-main -n istio-systemDelete the Istio CRDs.
helm uninstall istio-base -n istio-systemDelete the Istio namespaces.
kubectl delete ns istio-system --context $REMOTE_CONTEXT1 kubectl delete ns istio-ingress --context $REMOTE_CONTEXT1 kubectl delete ns istio-config --context $REMOTE_CONTEXT1 kubectl delete ns istio-eastwest --context $REMOTE_CONTEXT1kubectl delete ns istio-system --context $REMOTE_CONTEXT2 kubectl delete ns istio-ingress --context $REMOTE_CONTEXT2 kubectl delete ns istio-config --context $REMOTE_CONTEXT2 kubectl delete ns istio-eastwest --context $REMOTE_CONTEXT2
OpenShift installations: Revoke the extra permissions and resources required for OpenShift to run Istio.
Revoke the Istio namespace ID permissions for the Istio service accounts.
oc adm policy remove-scc-from-group anyuid system:serviceaccounts:gloo-mesh --context $REMOTE_CONTEXT1 oc adm policy remove-scc-from-group anyuid system:serviceaccounts:istio-system --context $REMOTE_CONTEXT1 oc adm policy remove-scc-from-group anyuid system:serviceaccounts:istio-ingress --context $REMOTE_CONTEXT1 oc adm policy remove-scc-from-group anyuid system:serviceaccounts:istio-eastwest --context $REMOTE_CONTEXT1oc adm policy remove-scc-from-group anyuid system:serviceaccounts:gloo-mesh --context $REMOTE_CONTEXT2 oc adm policy remove-scc-from-group anyuid system:serviceaccounts:istio-system --context $REMOTE_CONTEXT2 oc adm policy remove-scc-from-group anyuid system:serviceaccounts:gloo-mesh-gateways --context $REMOTE_CONTEXT2Revoke the Istio namespace ID permissions for sample app project service accounts.
oc --context $REMOTE_CONTEXT1 adm policy remove-scc-from-group anyuid system:serviceaccounts:bookinfo oc --context $REMOTE_CONTEXT1 adm policy remove-scc-from-group anyuid system:serviceaccounts:httpbinoc --context $REMOTE_CONTEXT2 adm policy remove-scc-from-group anyuid system:serviceaccounts:bookinfo oc --context $REMOTE_CONTEXT2 adm policy remove-scc-from-group anyuid system:serviceaccounts:httpbinDelete the NetworkAttachmentDefinition resources and the Istio namespace ID permissions for your workload projects.
oc --context $REMOTE_CONTEXT1 adm policy remove-scc-from-group anyuid system:serviceaccounts:<workload_projects> oc --context $REMOTE_CONTEXT2 adm policy remove-scc-from-group anyuid system:serviceaccounts:<workload_projects>oc --context $REMOTE_CONTEXT1 delete network-attachment-definition istio-cni -n <workload_projects> oc --context $REMOTE_CONTEXT2 delete network-attachment-definition istio-cni -n <workload_projects>
Workload clusters
Uninstall the Gloo data plane components from the workload clusters.
Uninstall the Gloo agent that runs on each workload cluster.
Uninstall the Gloo CRDs Helm releases in each workload cluster.
helm uninstall gloo-platform-crds -n gloo-mesh --kube-context $REMOTE_CONTEXT1 helm uninstall gloo-platform-crds -n gloo-mesh --kube-context $REMOTE_CONTEXT2Delete the
gloo-meshnamespace from each workload cluster.kubectl --context $REMOTE_CONTEXT1 delete namespace gloo-mesh kubectl --context $REMOTE_CONTEXT2 delete namespace gloo-meshRepeat these steps for any other cluster that is registered with Gloo Mesh. For example, if you ran the management plane in a cluster that was also registered, repeat these steps for the
MGMT_CLUSTERand specify theMGMT_CONTEXT. If you registered multiple workload clusters, repeat these steps for each workload cluster.
Management cluster
Uninstall the Gloo management plane components from the management cluster.
Uninstall the Gloo management plane components.
Uninstall the Gloo CRDs Helm release from the management cluster.
helm uninstall gloo-platform-crds -n gloo-mesh --kube-context $MGMT_CONTEXTDelete the
gloo-meshnamespace, and if applicable, thegloo-mesh-confignamespace.kubectl --context $MGMT_CONTEXT delete namespace gloo-mesh kubectl --context $MGMT_CONTEXT delete namespace gloo-mesh-config
Optional: Sample apps
If you installed the Bookinfo and httpbin sample apps, run the following commands to uninstall their resources.
Export the Istio version that your cluster runs as an environment variable, such as 1.25.2 in the following example.
export ISTIO_VERSION=1.25.2Remove the Bookinfo application components and service accounts.
kubectl -n bookinfo delete -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/platform/kube/bookinfo.yaml -l 'app,version notin (v3)' --context $REMOTE_CONTEXT1 kubectl -n bookinfo delete -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/platform/kube/bookinfo.yaml -l 'app,version notin (v3)' --context $REMOTE_CONTEXT2 kubectl -n bookinfo delete -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/platform/kube/bookinfo.yaml -l 'account' --context $REMOTE_CONTEXT1 kubectl -n bookinfo delete -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/platform/kube/bookinfo.yaml -l 'account' --context $REMOTE_CONTEXT2Delete the
bookinfonamespace.kubectl delete ns bookinfo --context $REMOTE_CONTEXT1 kubectl delete ns bookinfo --context $REMOTE_CONTEXT2Remove the httpbin application components.
kubectl -n httpbin delete -f https://raw.githubusercontent.com/solo-io/gloo-mesh-use-cases/main/policy-demo/httpbin.yaml --context $REMOTE_CONTEXT1 kubectl -n httpbin delete -f https://raw.githubusercontent.com/solo-io/gloo-mesh-use-cases/main/policy-demo/httpbin.yaml --context $REMOTE_CONTEXT2Delete the
httpbinnamespace.kubectl delete ns httpbin --context $REMOTE_CONTEXT1 kubectl delete ns httpbin --context $REMOTE_CONTEXT2