aws / containers-roadmap

This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS).
https://aws.amazon.com/about-aws/whats-new/containers/
Other
5.18k stars 313 forks source link

[EKS] [request]: Network Load Balancer with mixed protocols #841

Open kerwanp opened 4 years ago

kerwanp commented 4 years ago

Community Note

Tell us about your request Most of multiplayer game servers are base on TCP&UDP which is currently not implemented in Kubernetes (there is a workaround).

Which service(s) is this request for? This request is for EKS.

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?

Kubernetes does not currently support mixed protocols, there is a pull requests that implement the feature: https://github.com/kubernetes/kubernetes/pull/75831

There is a workaround that allow us to mix protocols by creating a service for each protocol (https://github.com/kubernetes/kubernetes/issues/23880#issuecomment-269054735):

This workaround can not work for AWS EKS because of the following problems:

Additional context After the support for mixed protocols in Kubernetes (maybe 1.19), using mixed protocols in services would create a target group with TCP&UDP and a listener with TCP&UDP in the NLB.

TBBle commented 4 years ago

The mixed protocols in one service KEP isn't in 1.19 currently, as there seems to be some pending decisions about how to handle the feature introduction and what happens when older k8s sees such a Service definition.

k8s 1.19 will support UDP Services. To make the workaround work, the Load Balancer support would still need to be modified to be able to recognise a second Service for the same loadBalancerIP and merge the definitions. That change seems unlikely, as it would be fairly complex (the Cloud Provider code would have to go hunting for matching Services, as it only gets asked to set up one Load Balancer at a time, as I understand the code) and less-interesting once the mixed-protocols KEP is integrated and support added to the AWS Cloud Provider.

jbg commented 3 years ago

Mixed protocols support in LoadBalancer was merged into k8s today (KEP, issue, PR). It should be released in 1.20.

TBBle commented 3 years ago

Support for this would come via https://github.com/kubernetes-sigs/aws-load-balancer-controller/issues/1608.

mikestef9 commented 2 months ago

This is planned in an upcoming release of AWS LB controller