-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LinkerD-proxy does not upgrade HTTP reuquest to HTTPS, randomly #13013
Comments
I received additional questions via Slack, to copy them here:
How is traffic allowed?
As well as:
To ensure this is correct I run
As well as
The weird thing is that we use the same mechanism for dozens of other pods successfully. We have several separate K8s clusters for our environments (test, UAT, prod), and this works fine in all environments except UAT. It's the same code (we use terraform so I can be reasonably sure of this). |
Have you got results back from changing the proxyProtocol to HTTP/1 ? |
The issue has not reappeared; I'm still confused why the incorrect protocol worked in all but one cases but hey 🤷
I would reopen this if the issue returns, but for now everything seems to be working fine. |
Unfortunately the issue has reoccurred. With a different pod, but the behavior is the same. LinkerD From inside Prometheus:
Find the pod
Again, no TLS.
And
The prometheus pod uses the
So far I'm not seeing anything that would prevent TLS; and this is again randomly appearing for a single pod, while several other pods are working just fine. What other logs could I turn on to debug this further? Iv'e tried |
What is the issue?
I have a meshed prometheus that scrapes all instances of
linkerd-proxy
in our K8s cluster. For all but one instance this works, but for one pod it cannot get a proper response.How can it be reproduced?
I
exec
. into the prometheus pod and runwget "http://10.0.3.202:4191/metrics"
which yieldsIP
10.0.3.202
belongs to podreporting-depl-c79d4b7c4-w2vbm
. Both the target pod as well as Prometheus have LinkerD proxy injected.Logs, error output, etc
I check the targets logs with
kubectl logs -n gsg reporting-depl-c79d4b7c4-w2vbm -c linkerd-proxy
This is weird; I would have expected the LinkerD proxy of Prometheus (the source) to use HTTPS / TLS but it seemingly decided against that. The target logs to me sound like the target LinkerD proxy rejected a non-TLS connection.
Debugging further on the source (Prometheus) side I add
config.linkerd.io/proxy-log-level: trace
as an annotation, which yields:output of
linkerd check -o short
Environment
K8s 1.28 on AWS EKS
Host: AL2023, running on
t4g.large
machinesPossible solution
No response
Additional context
The issue randomly goes away after a few hours, just to return a few minutes later. The issue once it happens is reproducible. I would be happy to contribute, once someone can enlighten me what's actually going wrong.
I originally raised this issue in the LinkerD Slack: https://linkerd.slack.com/archives/C89RTCWJF/p1724914178271069
Would you like to work on fixing this bug?
yes
The text was updated successfully, but these errors were encountered: