traefik-helm-chart icon indicating copy to clipboard operation
traefik-helm-chart copied to clipboard

Revert split LoadBalancers to single LoadBalancer with mixed protocols

Open 0xThiebaut opened this issue 4 years ago • 6 comments

Commit 6d60914 acted as a work-around for LoadBalancers' single protocol requirement (see bergmannf's comment on #145). Kubernetes now supports LoadBalancers with mixed protocols (kubernetes/kubernetes#94028).

This commit reverts the original work-around to reintroduce a single TCP/UDP LoadBalancer for Traefik, cutting LoadBalancer costs in half.

Note: The mixed-protocol LoadBalancers are planned to be included in Kubernetes milestone v1.20.

0xThiebaut avatar Nov 19 '20 18:11 0xThiebaut

As this PR relies on Kubernetes 1.20, a backwards-compatibility check could be introduced to rely on the current implementation for pre-1.20 clusters.

0xThiebaut avatar Nov 19 '20 18:11 0xThiebaut

Hello @0xThiebaut,

thanks for your PR.

Can you add some unit test please? :)

SantoDE avatar Nov 26 '20 16:11 SantoDE

Yes, will add some this week.

0xThiebaut avatar Dec 06 '20 12:12 0xThiebaut

Hello @0xThiebaut,

any updates? :)

SantoDE avatar Dec 18 '20 15:12 SantoDE

I am not that familiar with the testing suite. Do you have any advise on how I can ensure the testing suite behaves differently depending on the Kubernetes version?

From the helm-unittest documentation it seems quite limited and the current service's UDP test will definitely fail given it looks for the second LoadBalancer which will now be out of bounds if Kubernetes v1.20+ is used.

0xThiebaut avatar Jan 02 '21 19:01 0xThiebaut

Since the mixed protocols is beta as of 1.24, we should looking at updating this PR with proper testing and merging it.

Elegant996 avatar Aug 24 '22 14:08 Elegant996

Superseded by #656

mloiseleur avatar Oct 11 '22 15:10 mloiseleur