-
Notifications
You must be signed in to change notification settings - Fork 69
K8SPG-866 use discovery.k8s.io/v1 EndpointSlice #1307
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
base: main
Are you sure you want to change the base?
Conversation
egegunes
left a comment
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.
This PR also addresses the fact that EndpointSlices are not supported on GKE out of the box. The default DNS provider on GKE is kube-dns, which does not support EndpointSlices. To use EndpointSlices, users must manually deploy CoreDNS or use Cloud DNS. To fix tests, every test deploys CoreDNS in the kube-system namespace if it is not already present.
this worries me. this means we are breaking GKE installations out of the box. and we don't know when will Endpoints support be dropped. maybe we need make using EndpointSlices optional for now by introducing a cr field. wdyt @hors ?
It looks more like a system-wide preference. Do we imagine a use-case where some clusters use Endpoints and some use EndpointSlices? Maybe it should be a CLI / feature flag? |
yes, you have a point. maybe we need a feature flag |
Let's use a feature flag and disable it by default. |
commit: 2f2baa3 |
DESCRIPTION
Problem:
v1 Endpoints is deprecated in v1.33+; use discovery.k8s.io/v1 EndpointSliceSolution:
Before this PR, the operator created only the
-primaryEndpointsresource. All otherEndpointsresources are created by patroni. Patroni currently does not support creatingEndpointSlicesin place of the deprecatedEndpoints.This PR adds a feature gate
EndpointSliceswhich replaces the-primaryEndpointsresource with anEndpointSliceonce version2.9.0is reached. As part of the migration, the deprecatedEndpointsresource and the mirroredEndpointSlicecreated byendpointslicemirroring-controller.k8s.iofrom the deprecatedEndpointsresource are deleted.This PR also addresses the fact that
EndpointSlicesare not supported on GKE out of the box. The default DNS provider on GKE iskube-dns, which does not supportEndpointSlices. To useEndpointSlices, users must manually deployCoreDNSor useCloud DNS. To fix tests, every test deploysCoreDNSin thekube-systemnamespace if it is not already present.Please note that
Endpointsresources are mirrored toEndpointSlicesbyendpointslicemirroring-controller.k8s.io, which is why theupgrade-consistencytest includes assertions forEndpointSlices.CHECKLIST
Jira
Needs Doc) and QA (Needs QA)?Tests
Config/Logging/Testability