-
Notifications
You must be signed in to change notification settings - Fork 39.4k
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
[WIP] Alternative services #106115
[WIP] Alternative services #106115
Conversation
API servers publish the list of available API servers endpoints using the Alt-Svc headers defined by RFC 7838 HTTP Alternative Services. The list is obtained by the endpoints published for the kubernetes.default service.
@aojea: Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
client-go custom round trippers that allows to use a list of alternative apiservers to provide client side HA. The list can be configured manually or automatically, parsing the RFC7838 Alt-Svc headers. The roundtripper, if there is an alternative service available, tries to connect to it, falling back to the original Host. Alternative Services present in the same host of the client are preferred, if there are network errors connecting to the alternative services the client retries aginst the rest of available services, falling back to the original host.
71f2f9d
to
8dd72a0
Compare
8dd72a0
to
2885fac
Compare
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: aojea The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@aojea: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
||
// WithAternativeServices sets the Alt-Svc header based on the available api servers | ||
// See RFC7838 | ||
func WithAternativeServices(handler http.Handler, a *AlternativeServicesInfo) http.Handler { |
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.
@aojea WithAternativeServices
-> WithAlternativeServices
(missing 'l')
@aojea: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/triage accepted |
The discussion has to happen first in the kep @fedebongio :) |
/close |
please reopen if you still need this WIP PR. Trying to declutter the open PR(s) |
@dims: Closed this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
sure, no prob 👍 |
/kind feature
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: