Linkerd proxy inject not working in 1.19

I’m trying to setup linkerd in a 1.19 installation. After installing and enabling linkerd, I configure a deployment with the linkerd.io/inject: enabled annotation. The pod starts, but does not have the injected linkerd proxy. Checking the logs of the proxy injector I see:

$ microk8s kubectl  logs  -n linkerd pod/linkerd-proxy-injector-74dfcf899c-wcsjf proxy-injector
time="2020-09-14T04:28:26Z" level=info msg="running version stable-2.8.0"
time="2020-09-14T04:28:27Z" level=info msg="waiting for caches to sync"
time="2020-09-14T04:28:27Z" level=info msg="caches synced"
time="2020-09-14T04:28:27Z" level=info msg="starting admin server on :9995"
time="2020-09-14T04:28:27Z" level=info msg="listening at :8443"
2020/09/14 04:29:20 http: TLS handshake error from 127.0.0.1:45770: remote error: tls: bad certificate
2020/09/14 04:30:48 http: TLS handshake error from 127.0.0.1:47796: remote error: tls: bad certificate

I’m not sure if this is a microk8s config issue, an issue with linkerd, or something I’ve done wrong. The microk8s linkerd check reports everything is fine. Following similar steps it works as expected with 1.18.

Looks like someone else has reported this outside of microk8s, see this issue on github.

Yes there is an issue with Linkerd on 1.19 kubernetes. It is fixed on the Linkerd edge version. The Linkerd GA version will be out sometime early October.
We will provide an update as soon as it is out.