Uninstalling Linkerd
Removing Linkerd from a Kubernetes cluster requires a few steps: removing any data plane proxies, removing all the extensions and then removing the core control plane.
Removing Linkerd data plane proxies
To remove the Linkerd data plane proxies, you should remove any Linkerd proxy injection annotations and roll the deployments. When Kubernetes recreates the pods, they will not have the Linkerd data plane attached.
Removing extensions
To remove any extension, call its uninstall
subcommand and pipe it to kubectl delete -f -
. For the bundled extensions that means:
# To remove Linkerd Viz
linkerd viz uninstall | kubectl delete -f -
# To remove Linkerd Jaeger
linkerd jaeger uninstall | kubectl delete -f -
# To remove Linkerd Multicluster
linkerd multicluster uninstall | kubectl delete -f -
Removing the control plane
Note
Uninstallating the control plane requires cluster-wide permissions.
To remove the control plane, run:
linkerd uninstall | kubectl delete -f -
The linkerd uninstall
command outputs the manifest for all of the Kubernetes resources necessary for the control plane, including namespaces, service accounts, CRDs, and more; kubectl delete
then deletes those resources.
This command can also be used to remove control planes that have been partially installed. Note that kubectl delete
will complain about any resources that it was asked to delete that hadn’t been created, but these errors can be safely ignored.