-
Notifications
You must be signed in to change notification settings - Fork 360
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
Support FQDN Address Type in EndpointSlice #1922
Comments
this is a good alternative to supporting ExternalName in Service |
relates to #873 |
hi, interested in picking this one up, assign please. |
Hi @arkodg , I think this approach has the same security risks as using externalName service. Has Envoy gateway community approved this feature design? Thank you! |
can you elaborate on the security risk here ? |
Sure. These security issues are mainly related to ingress:
Ref: Above are summarized from link. |
Yes above security concerns have been mitigated because the definition of a FQDN endpoint has moved from a less privileged resource ( Service ) to a more privileged resource ( EndpointSlice) which only a few have access to edit |
Thanks @arkodg for the confirmation.
|
|
Thanks @shawnh2 .
|
@arkodg @shawnh2 Looks like K8S community is still considering deprecate FQDN type from endpointslice as seen in the head of the main branch from K8S repo: https://github.com/kubernetes/kubernetes/blob/master/pkg/registry/discovery/endpointslice/strategy.go#L221 Are you guys aware of this? |
looks like you already found the issue kubernetes/kubernetes#114210 @EltonzHu, its still being discussed |
Yes. Thank you for the confirmation. @arkodg |
gateway/internal/gatewayapi/route.go Lines 1140 to 1143 in fb9cb18
assume you have two endpointslices that associate with one service, one is IP address type, the other is FQDN address type. all the endpoints in these two endpointslices will be mixed into one vector via above function. in the xds translator layer, should we separate the endpoints by its address type? and create a different xds cluster for each address-type endpoints? in that case, how to associate these xds clusters with only one xds route? IMHO, the gateway/internal/xds/translator/cluster.go Lines 46 to 47 in fb9cb18
cc @arkodg |
From EDS cluster type Above information show that address inside EDS must be an IP, so we can not use EDS for address type as an FQDN. |
Regarding this case "User have two endpointslices that associate with one service, one is IP address type, the other is FQDN address type. ", |
Description:
We've recently added support for EndpointSlice, and current only support Static IPv4 Endpoint Addresses
We should also add support for FQDN address types
https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/#address-types
[optional Relevant Links:]
gateway/internal/gatewayapi/route.go
Line 1043 in 8f138f5
gateway/internal/xds/translator/translator.go
Line 219 in 8f138f5
The text was updated successfully, but these errors were encountered: