-
Notifications
You must be signed in to change notification settings - Fork 3.4k
daemon: listen on IPv4 and IPv6 for health endpoint #13203
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
Conversation
6be911b
to
3ce4e11
Compare
test-me-please |
Manually tested in the dev VM as follows:
Currently, Cilium fails to come up properly in the dev VM if the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have conformance test with ipv6 only cluster, just curious why underlying issue happened 🤔
Thanks for your review @sayboras
Just a guess, maybe because the helm chart was always hard-coding |
I have checked the log in smoketest ipv6 failure, and notice below log, seems like newly built docker image was not used. Fixed in #13204
|
Thanks, will rebase this PR once #13204 is approved and merged. |
You are right, thanks 💯
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#13204 is merged, you can rebase now :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, few questions for my understanding only.
3ce4e11
to
d42b055
Compare
test-me-please |
d42b055
to
e18b709
Compare
test-me-please |
retest-net-next |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Docs LGTM.
Please avoid format variants on logging functions in favour of structured logging.
If the agent liveness/readiness probe host is set to the IPv6 address ::1 instead of the default IPv4 127.0.0.1, Cilium never becomes ready in an IPv6-only environment. This is because the daemon health endpoint currently listens on localhost:9876 which will not listen on both IPv4 and IPv6. To fix this, listen on both IPv4 and IPv6 explicitly (depending on the daemons's tenable-ipv{4,6} flags) and only fail with an error if both of them fail or one was disabled and the other one fails. Fixes #13165 Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
…is disabled Change the liveness and readiness probes to perform the requests on 127.0.0.1 or ::1 depending on the enable-ipv4 flag. If that flag is false, change the readiness probe to perform requests to ::1, otherwise defaults to 127.0.0.1 (as it works for both v4 and v6 environments). Suggested-by: André Martins <andre@cilium.io> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
e18b709
to
b8cea9e
Compare
test-me-please |
If the agent liveness/readiness probe host is set to the IPv6 address
::1
instead of the default IPv4127.0.0.1
, Cilium never becomes ready inan IPv6-only environment. This is because the daemon health endpoint
currently listens on
localhost:9876
which will not listen on both IPv4and IPv6.
To fix this, listen on both IPv4 and IPv6 explicitly (depending on the
daemon's
enable-ipv{4,6}
flags) and only fail with an error if both ofthem fail or one was disabled and the other one fails.
Also change liveness and readiness probes to perform the requests on
127.0.0.1
or::1
depending on theenable-ipv4
flag as suggested in #13165 (comment).Fixes #13165