Updating kube-proxy to support new EndpointSlice address types#85246
Conversation
cb3c65d to
390c867
Compare
|
/retest |
|
/milestone v1.17 |
This includes IPv4 and IPv6 address types and IPVS dual stack support. Importantly this ensures that EndpointSlices with a FQDN address type are not processed by kube-proxy.
390c867 to
2a021d0
Compare
| proxier.ipv4Proxier.OnEndpointSliceAdd(endpointSlice) | ||
| case discovery.AddressTypeIPv6: | ||
| proxier.ipv6Proxier.OnEndpointSliceAdd(endpointSlice) | ||
| default: |
There was a problem hiding this comment.
What's the reason for checking discovery.AddressTypeIP in the endpoints change tracker but not here? If we're deprecating but still supporting it I think we should we still check for it here as well. I guess we'd have to call both the ipv4 and ipv6 proxiers for that case.
There was a problem hiding this comment.
We're not supporting the creation of new EndpointSlices with the type IP in 1.17, but are allowing existing ones to continue to exist in a deprecated state. The EndpointSlice controller should convert any EndpointSlice it manages with the type IP to IPv4, but there is of course a chance that EndpointSlices are managed by other entities or that kube-proxy is upgraded to 1.17 before the controller.
For a new feature like meta proxier with no previous support for the IP type, it didn't seem to make sense to support the IP address type. Of course it would also be a lot more complicated to support a type that could include both v4 and v6. Given that it was a deprecated alpha feature with no history of support for dual stack, it seemed fine to leave out here.
There was a problem hiding this comment.
Thanks for clarifying, makes sense!
|
/approve For IPVS part |
|
/lgtm |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: andrewsykim, freehan, robscott The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What type of PR is this?
/kind feature
What this PR does / why we need it:
This includes IPv4 and IPv6 address types and IPVS dual stack support. Importantly this ensures that EndpointSlices with a FQDN address type are not processed by kube-proxy.
Special notes for your reviewer:
This is intended to replace #84089
Does this PR introduce a user-facing change?:
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
/sig network
/priority important-soon
/cc @khenidak @andrewsykim @freehan @thockin