linkerd fails to find Lease component for service-mirror #11503
-
Hello, I use the linkerd multicluster plugin to ease communications between some of my clusters and deploy it using its helm chart. I recently upgraded the stack to stable-2.14.1 (from stable-2.14.0) and one of my clusters is unable to find the lease created when linking two clusters: This is the result of
and this is the result of the same command on my faulty cluster:
For some reason it seems to work one way and not the other.
and I can get its description just fine:
All of the aforementioned clusters are running in GKE with version 1.25.12-gke.500 of k8s These are the commands I used to link both clusters: Only one of three clusters connected to the central one is affected and there was no issue with the earlier 2.14.0 version of linkerd. |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 13 replies
-
Hi @lboutin-mwm, this looks like a potential bug in the |
Beta Was this translation helpful? Give feedback.
-
@lboutin-mwm hey! I had a look at the issue. It's a bit odd that you're experiencing this. The only place where we try to list Lease resources during a check is fallible only through the Kubernetes client. There are several reasons why a Kubernetes
Can you have a look and see if any of these apply to you? I would try to troubleshoot why the Kubernetes API Server would fail in the |
Beta Was this translation helpful? Give feedback.
-
Thanks for the hints I tried to use
I didn't know which service account's permissions to check so I checked all that were associated with linkerd using
There is something odd about this result, I did the same for my other 2 clusters, prod and demos had the exact same result but staging had some discrepancy, somehow it had even less permissions for its linkerd-service-mirror-tools-eu service account (which I would suspect is the one needing the rights ?)
From what I can see, demos & prod's linkerd-service-mirror-tools-eu service account can get the lease, while staging cannot, yet staging and prod do work properly, and none can list them... Any idea why there might be differences in permissions from one cluster to the other ? I unlinked and relinked all and still got this discrepancy. |
Beta Was this translation helpful? Give feedback.
-
The difference in permissions does seem a bit odd. Is your client ( |
Beta Was this translation helpful? Give feedback.
-
linkerd CLI version:
I used this loop to check my permissions across clusters:
Resulting in:
|
Beta Was this translation helpful? Give feedback.
-
Upgrading to linkerd version stable-2.14.2, then unlink / re-linking didn't have any impact |
Beta Was this translation helpful? Give feedback.
@lboutin-mwm interesting! the check command finds the extension's namespace by using an annotation (or label, can't remember) selector. Can you paste the annotations and labels of the
linkerd
namespace? It might be erroneously selected.The CLI binary I shipped has an embedded tag, any manifests that come from it will use images pinned to that tag. There is no functional difference between that and the stable CLI though.