Sometimes caused by apiservices running that no longer have backends. Confirm via kubectl:
$ k api-resources
error: unable to retrieve the complete list of server APIs: tap.linkerd.io/v1alpha1: the server is currently unable to handle the request
Solution is to delete relevant apiservice that no longer has backends: helm/helm#6361 (comment)
Then, remove finalizer from resource spec either via kubectl edit
or
$ kubectl get namespace linkerd -o json > linkerd.json
# edit file and delete "kubernetes" line in finalizers
$ kubectl replace --raw "/api/v1/namespaces/linkerd/finalize" -f linkerd.json