Uninstall
Learn how to uninstall the sample applications from the site, or the entire Istio deployment.
Removing sample applications
If you have followed any of the guides on this site, you may have installed Bookinfo, curl or httpbin pods into your cluster. You can remove these by using kubectl delete
on the manifests that were used to install them:
$ kubectl delete -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo.yaml
$ kubectl delete -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo-versions.yaml
$ kubectl delete -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/curl/curl.yaml
$ kubectl delete -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/httpbin/httpbin.yaml
Remove waypoints
Removing Istio will remove any waypoint proxies that are running in your cluster, but will not remove labels that you set in order to enable them.
Remove labels
The labels that were used to configure waypoints are not removed when Istio is removed. You can remove them from any namespace or workload that they were added to:
$ kubectl label namespace default istio.io/use-waypoint-
$ kubectl label namespace default istio.io/use-waypoint-namespace-
Remove waypoint deployments
The istioctl waypoint
command can be used to remove a sinple waypoint, all waypoints in a certain namespace, or all waypoints in the cluster. To remove all waypoints:
$ istioctl waypoint delete --all
Reconfigure workloads not to use the ambient data plane
Workloads that have been added to the ambient mesh are not reconfigured for regular Kubernetes networking when Istio is removed. The labels used to configure the data plane mode must be removed first. You can remove them from any namespace that they were added to:
$ kubectl label namespace default istio.io/dataplane-mode-
Removing Istio
Installed from quickstart
You can use kubectl to remove the resources that were created by the quickstart script:
$ kubectl delete -f https://get.ambientmesh.io/yamls/default.yaml
You can then remove the Istio system nanespace:
$ kubectl delete namespace istio-system
Installed with Helm
The charts that you installed can be removed, in reverse order.
Confirm the charts you have installed:
$ helm ls -n istio-system
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
istio-base istio-system 1 2024-11-15 13:05:03.287088 +1300 NZDT deployed base-1.24.0 1.24.0
istio-cni istio-system 1 2024-11-15 13:07:06.250804 +1300 NZDT deployed cni-1.24.0 1.24.0
istiod istio-system 1 2024-11-15 13:06:54.492701 +1300 NZDT deployed istiod-1.24.0 1.24.0
ztunnel istio-system 1 2024-11-15 13:07:13.187632 +1300 NZDT deployed ztunnel-1.24.0 1.24.0
Remove the application:
$ helm delete ztunnel -n istio-system
$ helm delete istio-cni -n istio-system
$ helm delete istiod -n istio-system
$ helm delete istio-base -n istio-system
The Istio CRDs are not removed when the Helm chart is deleted. To remove them:
$ kubectl get crd -oname | grep --color=never 'istio.io' | xargs kubectl delete
You can them remove the Istio system namespace:
$ kubectl delete namespace istio-system
Remove the Gateway API CRDs
If you no longer require the Gateway API CRDs, you can remove them:
$ kubectl delete -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.2.0/standard-install.yaml